/******************************************************************************* 
 *  Copyright 2007 Amazon Technologies, Inc.  
 *  Licensed under the Apache License, Version 2.0 (the "License"); 
 *  
 *  You may not use this file except in compliance with the License. 
 *  You may obtain a copy of the License at: http://aws.amazon.com/apache2.0
 *  This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
 *  CONDITIONS OF ANY KIND, either express or implied. See the License for the 
 *  specific language governing permissions and limitations under the License.
 * ***************************************************************************** 
 *    __  _    _  ___ 
 *   (  )( \/\/ )/ __)
 *   /__\ \    / \__ \
 *  (_)(_) \/\/  (___/
 * 
 *  Amazon ECS CSharp Library
 *  API Version: 2007-07-16
 *  Generated: Thu Aug 02 10:15:38 PDT 2007 
 * 
 */

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using Amazon.ECS;
using Amazon.ECS.Model;

namespace Amazon.ECS.Samples
{

    /// <summary>
    /// Similarity Lookup  Samples
    /// </summary>
    public class SimilarityLookupSample
    {
    
                                                         
        /// <summary>
        /// 
        /// <p/>
        /// The SimilarityLookup operation returns up to ten products per page that are
        /// similar to one or more items specified in the request. This operation is
        /// typically used to pique a customer's interest in buying something similar to what they've already ordered.
        /// <p/>
        /// If you specify more than one item, SimilarityLookup returns the intersection of similar
        /// items each item would return separately. Alternatively, you can use the SimilarityType
        /// parameter to return the union of items that are similar to any of the specified items.
        /// A maximum of ten similar items are returned; the operation does not return additional
        /// pages of similar items. if there are more than ten similar items, running the same
        /// request can result in different answers because the ten that are included in the
        /// response are picked randomly.
        /// <p/>
        /// <b>Available Response Groups</b>:
        /// <ul>
        /// <li>Request</li>
        /// <li>Small</li>
        /// <li>Accessories</li>
        /// <li>BrowseNodes</li>
        /// <li>EditorialReview</li>
        /// <li>Images</li>
        /// <li>Large</li>
        /// <li>ItemAttributes</li>
        /// <li>ItemIds</li>
        /// <li>ListmaniaLists</li>
        /// <li>Medium</li>
        /// <li>Offers</li>
        /// <li>OfferSummary</li>
        /// <li>PromotionDetails</li>
        /// <li>PromotionSummary</li>
        /// <li>Reviews</li>
        /// <li>SalesRank</li>
        /// <li>Similarities</li>
        /// <li>Tracks</li>
        /// <li>VariationMinimum</li>
        /// <li>Variations</li>
        /// <li>VariationSummary</li>
        /// </ul>
        /// 
        /// </summary>
        /// <param name="service">Instance of AmazonECS service</param>
        /// <param name="request">SimilarityLookup request</param>
        public static void InvokeSimilarityLookup(AmazonECS service, params SimilarityLookupRequest [] request) 
        {
            try 
            {
                SimilarityLookupResponse response = service.SimilarityLookup(request);
                
                
                Console.WriteLine ("Service Response");
                Console.WriteLine ("=============================================================================");
                Console.WriteLine ();

                Console.WriteLine("        SimilarityLookupResponse");
                if (response.IsSetOperationRequest()) 
                {
                    Console.WriteLine("            OperationRequest");
                    OperationRequest  operationRequest = response.OperationRequest;
                    if (operationRequest.IsSetHTTPHeaders()) 
                    {
                        Console.WriteLine("                HTTPHeaders");
                        HTTPHeaders  HTTPHeaders = operationRequest.HTTPHeaders;
                    } 
                    if (operationRequest.IsSetRequestId()) 
                    {
                        Console.WriteLine("                RequestId");
                        Console.WriteLine("                    {0}", operationRequest.RequestId);
                    }
                    if (operationRequest.IsSetArguments()) 
                    {
                        Console.WriteLine("                Arguments");
                        Arguments  arguments = operationRequest.Arguments;
                    } 
                    if (operationRequest.IsSetRequestProcessingTime()) 
                    {
                        Console.WriteLine("                RequestProcessingTime");
                        Console.WriteLine("                    {0}", operationRequest.RequestProcessingTime);
                    }
                } 
                List<Items> itemsList = response.Items;
                foreach (Items items in itemsList) 
                {
                    Console.WriteLine("            Items");
                    if (items.IsSetCorrectedQuery()) 
                    {
                        Console.WriteLine("                CorrectedQuery");
                        CorrectedQuery  correctedQuery = items.CorrectedQuery;
                        if (correctedQuery.IsSetKeywords()) 
                        {
                            Console.WriteLine("                    Keywords");
                            Console.WriteLine("                        {0}", correctedQuery.Keywords);
                        }
                        if (correctedQuery.IsSetMessage()) 
                        {
                            Console.WriteLine("                    Message");
                            Console.WriteLine("                        {0}", correctedQuery.Message);
                        }
                    } 
                    if (items.IsSetQid()) 
                    {
                        Console.WriteLine("                Qid");
                        Console.WriteLine("                    {0}", items.Qid);
                    }
                    if (items.IsSetEngineQuery()) 
                    {
                        Console.WriteLine("                EngineQuery");
                        Console.WriteLine("                    {0}", items.EngineQuery);
                    }
                    if (items.IsSetTotalResults()) 
                    {
                        Console.WriteLine("                TotalResults");
                        Console.WriteLine("                    {0}", items.TotalResults);
                    }
                    if (items.IsSetTotalPages()) 
                    {
                        Console.WriteLine("                TotalPages");
                        Console.WriteLine("                    {0}", items.TotalPages);
                    }
                    if (items.IsSetSearchResultsMap()) 
                    {
                        Console.WriteLine("                SearchResultsMap");
                        SearchResultsMap  searchResultsMap = items.SearchResultsMap;
                        List<SearchResultsMapSearchIndex> searchIndexList = searchResultsMap.SearchIndex;
                        foreach (SearchResultsMapSearchIndex searchIndex in searchIndexList) 
                        {
                            Console.WriteLine("                    SearchIndex");
                            if (searchIndex.IsSetIndexName()) 
                            {
                                Console.WriteLine("                        IndexName");
                                Console.WriteLine("                            {0}", searchIndex.IndexName);
                            }
                            if (searchIndex.IsSetResults()) 
                            {
                                Console.WriteLine("                        Results");
                                Console.WriteLine("                            {0}", searchIndex.Results);
                            }
                            if (searchIndex.IsSetPages()) 
                            {
                                Console.WriteLine("                        Pages");
                                Console.WriteLine("                            {0}", searchIndex.Pages);
                            }
                            if (searchIndex.IsSetCorrectedQuery()) 
                            {
                                Console.WriteLine("                        CorrectedQuery");
                                CorrectedQuery  correctedQuery = searchIndex.CorrectedQuery;
                                if (correctedQuery.IsSetKeywords()) 
                                {
                                    Console.WriteLine("                            Keywords");
                                    Console.WriteLine("                                {0}", correctedQuery.Keywords);
                                }
                                if (correctedQuery.IsSetMessage()) 
                                {
                                    Console.WriteLine("                            Message");
                                    Console.WriteLine("                                {0}", correctedQuery.Message);
                                }
                            } 
                            if (searchIndex.IsSetRelevanceRank()) 
                            {
                                Console.WriteLine("                        RelevanceRank");
                                Console.WriteLine("                            {0}", searchIndex.RelevanceRank);
                            }
                            List<String> ASINList  =  searchIndex.ASIN;
                            foreach (String ASIN in ASINList) 
                            { 
                                Console.WriteLine("                        ASIN");
                                Console.WriteLine("                            {0}", ASIN);
                            }	
                        }
                    } 
                    List<Item> itemList = items.Item;
                    foreach (Item item in itemList) 
                    {
                        Console.WriteLine("                Item");
                        if (item.IsSetAlternateVersions()) 
                        {
                            Console.WriteLine("                    AlternateVersions");
                            AlternateVersions  alternateVersions = item.AlternateVersions;
                            List<AlternateVersion> alternateVersionList = alternateVersions.AlternateVersion;
                            foreach (AlternateVersion alternateVersion in alternateVersionList) 
                            {
                                Console.WriteLine("                        AlternateVersion");
                                if (alternateVersion.IsSetASIN()) 
                                {
                                    Console.WriteLine("                            ASIN");
                                    Console.WriteLine("                                {0}", alternateVersion.ASIN);
                                }
                                if (alternateVersion.IsSetTitle()) 
                                {
                                    Console.WriteLine("                            Title");
                                    Console.WriteLine("                                {0}", alternateVersion.Title);
                                }
                                if (alternateVersion.IsSetBinding()) 
                                {
                                    Console.WriteLine("                            Binding");
                                    Console.WriteLine("                                {0}", alternateVersion.Binding);
                                }
                            }
                        } 
                        if (item.IsSetASIN()) 
                        {
                            Console.WriteLine("                    ASIN");
                            Console.WriteLine("                        {0}", item.ASIN);
                        }
                        if (item.IsSetParentASIN()) 
                        {
                            Console.WriteLine("                    ParentASIN");
                            Console.WriteLine("                        {0}", item.ParentASIN);
                        }
                        if (item.IsSetDetailPageURL()) 
                        {
                            Console.WriteLine("                    DetailPageURL");
                            Console.WriteLine("                        {0}", item.DetailPageURL);
                        }
                        if (item.IsSetSalesRank()) 
                        {
                            Console.WriteLine("                    SalesRank");
                            Console.WriteLine("                        {0}", item.SalesRank);
                        }
                        if (item.IsSetSmallImage()) 
                        {
                            Console.WriteLine("                    SmallImage");
                            Image  smallImage = item.SmallImage;
                            if (smallImage.IsSetURL()) 
                            {
                                Console.WriteLine("                        URL");
                                Console.WriteLine("                            {0}", smallImage.URL);
                            }
                            if (smallImage.IsSetHeight()) 
                            {
                                Console.WriteLine("                        Height");
                                DecimalWithUnits  height = smallImage.Height;
                            } 
                            if (smallImage.IsSetWidth()) 
                            {
                                Console.WriteLine("                        Width");
                                DecimalWithUnits  width = smallImage.Width;
                            } 
                            if (smallImage.IsSetIsVerified()) 
                            {
                                Console.WriteLine("                        IsVerified");
                                Console.WriteLine("                            {0}", smallImage.IsVerified);
                            }
                        } 
                        if (item.IsSetMediumImage()) 
                        {
                            Console.WriteLine("                    MediumImage");
                            Image  mediumImage = item.MediumImage;
                            if (mediumImage.IsSetURL()) 
                            {
                                Console.WriteLine("                        URL");
                                Console.WriteLine("                            {0}", mediumImage.URL);
                            }
                            if (mediumImage.IsSetHeight()) 
                            {
                                Console.WriteLine("                        Height");
                                DecimalWithUnits  height = mediumImage.Height;
                            } 
                            if (mediumImage.IsSetWidth()) 
                            {
                                Console.WriteLine("                        Width");
                                DecimalWithUnits  width = mediumImage.Width;
                            } 
                            if (mediumImage.IsSetIsVerified()) 
                            {
                                Console.WriteLine("                        IsVerified");
                                Console.WriteLine("                            {0}", mediumImage.IsVerified);
                            }
                        } 
                        if (item.IsSetLargeImage()) 
                        {
                            Console.WriteLine("                    LargeImage");
                            Image  largeImage = item.LargeImage;
                            if (largeImage.IsSetURL()) 
                            {
                                Console.WriteLine("                        URL");
                                Console.WriteLine("                            {0}", largeImage.URL);
                            }
                            if (largeImage.IsSetHeight()) 
                            {
                                Console.WriteLine("                        Height");
                                DecimalWithUnits  height = largeImage.Height;
                            } 
                            if (largeImage.IsSetWidth()) 
                            {
                                Console.WriteLine("                        Width");
                                DecimalWithUnits  width = largeImage.Width;
                            } 
                            if (largeImage.IsSetIsVerified()) 
                            {
                                Console.WriteLine("                        IsVerified");
                                Console.WriteLine("                            {0}", largeImage.IsVerified);
                            }
                        } 
                        List<ImageSets> imageSetsList = item.ImageSets;
                        foreach (ImageSets imageSets in imageSetsList) 
                        {
                            Console.WriteLine("                    ImageSets");
                            if (imageSets.IsSetMerchantId()) 
                            {
                                Console.WriteLine("                        MerchantId");
                                Console.WriteLine("                            {0}", imageSets.MerchantId);
                            }
                            List<ImageSet> imageSetList = imageSets.ImageSet;
                            foreach (ImageSet imageSet in imageSetList) 
                            {
                                Console.WriteLine("                        ImageSet");
                                if (imageSet.IsSetSwatchImage()) 
                                {
                                    Console.WriteLine("                            SwatchImage");
                                    Image  swatchImage = imageSet.SwatchImage;
                                    if (swatchImage.IsSetURL()) 
                                    {
                                        Console.WriteLine("                                URL");
                                        Console.WriteLine("                                    {0}", swatchImage.URL);
                                    }
                                    if (swatchImage.IsSetHeight()) 
                                    {
                                        Console.WriteLine("                                Height");
                                        DecimalWithUnits  height = swatchImage.Height;
                                    } 
                                    if (swatchImage.IsSetWidth()) 
                                    {
                                        Console.WriteLine("                                Width");
                                        DecimalWithUnits  width = swatchImage.Width;
                                    } 
                                    if (swatchImage.IsSetIsVerified()) 
                                    {
                                        Console.WriteLine("                                IsVerified");
                                        Console.WriteLine("                                    {0}", swatchImage.IsVerified);
                                    }
                                } 
                                if (imageSet.IsSetSmallImage()) 
                                {
                                    Console.WriteLine("                            SmallImage");
                                    Image  smallImage = imageSet.SmallImage;
                                    if (smallImage.IsSetURL()) 
                                    {
                                        Console.WriteLine("                                URL");
                                        Console.WriteLine("                                    {0}", smallImage.URL);
                                    }
                                    if (smallImage.IsSetHeight()) 
                                    {
                                        Console.WriteLine("                                Height");
                                        DecimalWithUnits  height = smallImage.Height;
                                    } 
                                    if (smallImage.IsSetWidth()) 
                                    {
                                        Console.WriteLine("                                Width");
                                        DecimalWithUnits  width = smallImage.Width;
                                    } 
                                    if (smallImage.IsSetIsVerified()) 
                                    {
                                        Console.WriteLine("                                IsVerified");
                                        Console.WriteLine("                                    {0}", smallImage.IsVerified);
                                    }
                                } 
                                if (imageSet.IsSetThumbnailImage()) 
                                {
                                    Console.WriteLine("                            ThumbnailImage");
                                    Image  thumbnailImage = imageSet.ThumbnailImage;
                                    if (thumbnailImage.IsSetURL()) 
                                    {
                                        Console.WriteLine("                                URL");
                                        Console.WriteLine("                                    {0}", thumbnailImage.URL);
                                    }
                                    if (thumbnailImage.IsSetHeight()) 
                                    {
                                        Console.WriteLine("                                Height");
                                        DecimalWithUnits  height = thumbnailImage.Height;
                                    } 
                                    if (thumbnailImage.IsSetWidth()) 
                                    {
                                        Console.WriteLine("                                Width");
                                        DecimalWithUnits  width = thumbnailImage.Width;
                                    } 
                                    if (thumbnailImage.IsSetIsVerified()) 
                                    {
                                        Console.WriteLine("                                IsVerified");
                                        Console.WriteLine("                                    {0}", thumbnailImage.IsVerified);
                                    }
                                } 
                                if (imageSet.IsSetTinyImage()) 
                                {
                                    Console.WriteLine("                            TinyImage");
                                    Image  tinyImage = imageSet.TinyImage;
                                    if (tinyImage.IsSetURL()) 
                                    {
                                        Console.WriteLine("                                URL");
                                        Console.WriteLine("                                    {0}", tinyImage.URL);
                                    }
                                    if (tinyImage.IsSetHeight()) 
                                    {
                                        Console.WriteLine("                                Height");
                                        DecimalWithUnits  height = tinyImage.Height;
                                    } 
                                    if (tinyImage.IsSetWidth()) 
                                    {
                                        Console.WriteLine("                                Width");
                                        DecimalWithUnits  width = tinyImage.Width;
                                    } 
                                    if (tinyImage.IsSetIsVerified()) 
                                    {
                                        Console.WriteLine("                                IsVerified");
                                        Console.WriteLine("                                    {0}", tinyImage.IsVerified);
                                    }
                                } 
                                if (imageSet.IsSetMediumImage()) 
                                {
                                    Console.WriteLine("                            MediumImage");
                                    Image  mediumImage = imageSet.MediumImage;
                                    if (mediumImage.IsSetURL()) 
                                    {
                                        Console.WriteLine("                                URL");
                                        Console.WriteLine("                                    {0}", mediumImage.URL);
                                    }
                                    if (mediumImage.IsSetHeight()) 
                                    {
                                        Console.WriteLine("                                Height");
                                        DecimalWithUnits  height = mediumImage.Height;
                                    } 
                                    if (mediumImage.IsSetWidth()) 
                                    {
                                        Console.WriteLine("                                Width");
                                        DecimalWithUnits  width = mediumImage.Width;
                                    } 
                                    if (mediumImage.IsSetIsVerified()) 
                                    {
                                        Console.WriteLine("                                IsVerified");
                                        Console.WriteLine("                                    {0}", mediumImage.IsVerified);
                                    }
                                } 
                                if (imageSet.IsSetLargeImage()) 
                                {
                                    Console.WriteLine("                            LargeImage");
                                    Image  largeImage = imageSet.LargeImage;
                                    if (largeImage.IsSetURL()) 
                                    {
                                        Console.WriteLine("                                URL");
                                        Console.WriteLine("                                    {0}", largeImage.URL);
                                    }
                                    if (largeImage.IsSetHeight()) 
                                    {
                                        Console.WriteLine("                                Height");
                                        DecimalWithUnits  height = largeImage.Height;
                                    } 
                                    if (largeImage.IsSetWidth()) 
                                    {
                                        Console.WriteLine("                                Width");
                                        DecimalWithUnits  width = largeImage.Width;
                                    } 
                                    if (largeImage.IsSetIsVerified()) 
                                    {
                                        Console.WriteLine("                                IsVerified");
                                        Console.WriteLine("                                    {0}", largeImage.IsVerified);
                                    }
                                } 
                            }
                        }
                        if (item.IsSetItemAttributes()) 
                        {
                            Console.WriteLine("                    ItemAttributes");
                            ItemAttributes  itemAttributes = item.ItemAttributes;
                            List<String> actorList  =  itemAttributes.Actor;
                            foreach (String actor in actorList) 
                            { 
                                Console.WriteLine("                        Actor");
                                Console.WriteLine("                            {0}", actor);
                            }	
                            if (itemAttributes.IsSetAddress()) 
                            {
                                Console.WriteLine("                        Address");
                                Address  address = itemAttributes.Address;
                                if (address.IsSetName()) 
                                {
                                    Console.WriteLine("                            Name");
                                    Console.WriteLine("                                {0}", address.Name);
                                }
                                if (address.IsSetAddress1()) 
                                {
                                    Console.WriteLine("                            Address1");
                                    Console.WriteLine("                                {0}", address.Address1);
                                }
                                if (address.IsSetAddress2()) 
                                {
                                    Console.WriteLine("                            Address2");
                                    Console.WriteLine("                                {0}", address.Address2);
                                }
                                if (address.IsSetAddress3()) 
                                {
                                    Console.WriteLine("                            Address3");
                                    Console.WriteLine("                                {0}", address.Address3);
                                }
                                if (address.IsSetCity()) 
                                {
                                    Console.WriteLine("                            City");
                                    Console.WriteLine("                                {0}", address.City);
                                }
                                if (address.IsSetState()) 
                                {
                                    Console.WriteLine("                            State");
                                    Console.WriteLine("                                {0}", address.State);
                                }
                                if (address.IsSetPostalCode()) 
                                {
                                    Console.WriteLine("                            PostalCode");
                                    Console.WriteLine("                                {0}", address.PostalCode);
                                }
                                if (address.IsSetCountry()) 
                                {
                                    Console.WriteLine("                            Country");
                                    Console.WriteLine("                                {0}", address.Country);
                                }
                            } 
                            List<String> ageList  =  itemAttributes.Age;
                            foreach (String age in ageList) 
                            { 
                                Console.WriteLine("                        Age");
                                Console.WriteLine("                            {0}", age);
                            }	
                            if (itemAttributes.IsSetAmazonMaximumAge()) 
                            {
                                Console.WriteLine("                        AmazonMaximumAge");
                                DecimalWithUnits  amazonMaximumAge = itemAttributes.AmazonMaximumAge;
                            } 
                            if (itemAttributes.IsSetAmazonMinimumAge()) 
                            {
                                Console.WriteLine("                        AmazonMinimumAge");
                                DecimalWithUnits  amazonMinimumAge = itemAttributes.AmazonMinimumAge;
                            } 
                            if (itemAttributes.IsSetAnalogVideoFormat()) 
                            {
                                Console.WriteLine("                        AnalogVideoFormat");
                                Console.WriteLine("                            {0}", itemAttributes.AnalogVideoFormat);
                            }
                            if (itemAttributes.IsSetApertureModes()) 
                            {
                                Console.WriteLine("                        ApertureModes");
                                Console.WriteLine("                            {0}", itemAttributes.ApertureModes);
                            }
                            List<String> artistList  =  itemAttributes.Artist;
                            foreach (String artist in artistList) 
                            { 
                                Console.WriteLine("                        Artist");
                                Console.WriteLine("                            {0}", artist);
                            }	
                            if (itemAttributes.IsSetAspectRatio()) 
                            {
                                Console.WriteLine("                        AspectRatio");
                                Console.WriteLine("                            {0}", itemAttributes.AspectRatio);
                            }
                            if (itemAttributes.IsSetAssemblyInstructions()) 
                            {
                                Console.WriteLine("                        AssemblyInstructions");
                                Console.WriteLine("                            {0}", itemAttributes.AssemblyInstructions);
                            }
                            if (itemAttributes.IsSetAssemblyRequired()) 
                            {
                                Console.WriteLine("                        AssemblyRequired");
                                Console.WriteLine("                            {0}", itemAttributes.AssemblyRequired);
                            }
                            if (itemAttributes.IsSetAudienceRating()) 
                            {
                                Console.WriteLine("                        AudienceRating");
                                Console.WriteLine("                            {0}", itemAttributes.AudienceRating);
                            }
                            List<String> audioFormatList  =  itemAttributes.AudioFormat;
                            foreach (String audioFormat in audioFormatList) 
                            { 
                                Console.WriteLine("                        AudioFormat");
                                Console.WriteLine("                            {0}", audioFormat);
                            }	
                            List<String> authorList  =  itemAttributes.Author;
                            foreach (String author in authorList) 
                            { 
                                Console.WriteLine("                        Author");
                                Console.WriteLine("                            {0}", author);
                            }	
                            if (itemAttributes.IsSetBackFinding()) 
                            {
                                Console.WriteLine("                        BackFinding");
                                Console.WriteLine("                            {0}", itemAttributes.BackFinding);
                            }
                            if (itemAttributes.IsSetBandMaterialType()) 
                            {
                                Console.WriteLine("                        BandMaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.BandMaterialType);
                            }
                            if (itemAttributes.IsSetBatteriesIncluded()) 
                            {
                                Console.WriteLine("                        BatteriesIncluded");
                                Console.WriteLine("                            {0}", itemAttributes.BatteriesIncluded);
                            }
                            if (itemAttributes.IsSetBatteriesRequired()) 
                            {
                                Console.WriteLine("                        BatteriesRequired");
                                Console.WriteLine("                            {0}", itemAttributes.BatteriesRequired);
                            }
                            if (itemAttributes.IsSetBatteries()) 
                            {
                                Console.WriteLine("                        Batteries");
                                NonNegativeIntegerWithUnits  batteries = itemAttributes.Batteries;
                            } 
                            if (itemAttributes.IsSetBatteryDescription()) 
                            {
                                Console.WriteLine("                        BatteryDescription");
                                Console.WriteLine("                            {0}", itemAttributes.BatteryDescription);
                            }
                            if (itemAttributes.IsSetBatteryType()) 
                            {
                                Console.WriteLine("                        BatteryType");
                                Console.WriteLine("                            {0}", itemAttributes.BatteryType);
                            }
                            if (itemAttributes.IsSetBezelMaterialType()) 
                            {
                                Console.WriteLine("                        BezelMaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.BezelMaterialType);
                            }
                            if (itemAttributes.IsSetBinding()) 
                            {
                                Console.WriteLine("                        Binding");
                                Console.WriteLine("                            {0}", itemAttributes.Binding);
                            }
                            if (itemAttributes.IsSetBrand()) 
                            {
                                Console.WriteLine("                        Brand");
                                Console.WriteLine("                            {0}", itemAttributes.Brand);
                            }
                            if (itemAttributes.IsSetCalendarType()) 
                            {
                                Console.WriteLine("                        CalendarType");
                                Console.WriteLine("                            {0}", itemAttributes.CalendarType);
                            }
                            List<String> cameraManualFeaturesList  =  itemAttributes.CameraManualFeatures;
                            foreach (String cameraManualFeatures in cameraManualFeaturesList) 
                            { 
                                Console.WriteLine("                        CameraManualFeatures");
                                Console.WriteLine("                            {0}", cameraManualFeatures);
                            }	
                            if (itemAttributes.IsSetCaseDiameter()) 
                            {
                                Console.WriteLine("                        CaseDiameter");
                                DecimalWithUnits  caseDiameter = itemAttributes.CaseDiameter;
                            } 
                            if (itemAttributes.IsSetCaseMaterialType()) 
                            {
                                Console.WriteLine("                        CaseMaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.CaseMaterialType);
                            }
                            if (itemAttributes.IsSetCaseThickness()) 
                            {
                                Console.WriteLine("                        CaseThickness");
                                DecimalWithUnits  caseThickness = itemAttributes.CaseThickness;
                            } 
                            if (itemAttributes.IsSetCaseType()) 
                            {
                                Console.WriteLine("                        CaseType");
                                Console.WriteLine("                            {0}", itemAttributes.CaseType);
                            }
                            if (itemAttributes.IsSetCatalogNumber()) 
                            {
                                Console.WriteLine("                        CatalogNumber");
                                Console.WriteLine("                            {0}", itemAttributes.CatalogNumber);
                            }
                            List<String> categoryList  =  itemAttributes.Category;
                            foreach (String category in categoryList) 
                            { 
                                Console.WriteLine("                        Category");
                                Console.WriteLine("                            {0}", category);
                            }	
                            List<String> categoryBinList  =  itemAttributes.CategoryBin;
                            foreach (String categoryBin in categoryBinList) 
                            { 
                                Console.WriteLine("                        CategoryBin");
                                Console.WriteLine("                            {0}", categoryBin);
                            }	
                            if (itemAttributes.IsSetCDRWDescription()) 
                            {
                                Console.WriteLine("                        CDRWDescription");
                                Console.WriteLine("                            {0}", itemAttributes.CDRWDescription);
                            }
                            if (itemAttributes.IsSetChainType()) 
                            {
                                Console.WriteLine("                        ChainType");
                                Console.WriteLine("                            {0}", itemAttributes.ChainType);
                            }
                            List<String> characterList  =  itemAttributes.Character;
                            foreach (String character in characterList) 
                            { 
                                Console.WriteLine("                        Character");
                                Console.WriteLine("                            {0}", character);
                            }	
                            if (itemAttributes.IsSetCEROAgeRating()) 
                            {
                                Console.WriteLine("                        CEROAgeRating");
                                Console.WriteLine("                            {0}", itemAttributes.CEROAgeRating);
                            }
                            if (itemAttributes.IsSetClaspType()) 
                            {
                                Console.WriteLine("                        ClaspType");
                                Console.WriteLine("                            {0}", itemAttributes.ClaspType);
                            }
                            if (itemAttributes.IsSetClothingSize()) 
                            {
                                Console.WriteLine("                        ClothingSize");
                                Console.WriteLine("                            {0}", itemAttributes.ClothingSize);
                            }
                            if (itemAttributes.IsSetClubType()) 
                            {
                                Console.WriteLine("                        ClubType");
                                Console.WriteLine("                            {0}", itemAttributes.ClubType);
                            }
                            if (itemAttributes.IsSetColor()) 
                            {
                                Console.WriteLine("                        Color");
                                Console.WriteLine("                            {0}", itemAttributes.Color);
                            }
                            if (itemAttributes.IsSetCompatibility()) 
                            {
                                Console.WriteLine("                        Compatibility");
                                Console.WriteLine("                            {0}", itemAttributes.Compatibility);
                            }
                            List<String> compatibleDevicesList  =  itemAttributes.CompatibleDevices;
                            foreach (String compatibleDevices in compatibleDevicesList) 
                            { 
                                Console.WriteLine("                        CompatibleDevices");
                                Console.WriteLine("                            {0}", compatibleDevices);
                            }	
                            if (itemAttributes.IsSetComputerHardwareType()) 
                            {
                                Console.WriteLine("                        ComputerHardwareType");
                                Console.WriteLine("                            {0}", itemAttributes.ComputerHardwareType);
                            }
                            if (itemAttributes.IsSetComputerPlatform()) 
                            {
                                Console.WriteLine("                        ComputerPlatform");
                                Console.WriteLine("                            {0}", itemAttributes.ComputerPlatform);
                            }
                            if (itemAttributes.IsSetConnectivity()) 
                            {
                                Console.WriteLine("                        Connectivity");
                                Console.WriteLine("                            {0}", itemAttributes.Connectivity);
                            }
                            if (itemAttributes.IsSetContinuousShootingSpeed()) 
                            {
                                Console.WriteLine("                        ContinuousShootingSpeed");
                                DecimalWithUnits  continuousShootingSpeed = itemAttributes.ContinuousShootingSpeed;
                            } 
                            if (itemAttributes.IsSetCountry()) 
                            {
                                Console.WriteLine("                        Country");
                                Console.WriteLine("                            {0}", itemAttributes.Country);
                            }
                            if (itemAttributes.IsSetCPUManufacturer()) 
                            {
                                Console.WriteLine("                        CPUManufacturer");
                                Console.WriteLine("                            {0}", itemAttributes.CPUManufacturer);
                            }
                            if (itemAttributes.IsSetCPUSpeed()) 
                            {
                                Console.WriteLine("                        CPUSpeed");
                                DecimalWithUnits  CPUSpeed = itemAttributes.CPUSpeed;
                            } 
                            if (itemAttributes.IsSetCPUType()) 
                            {
                                Console.WriteLine("                        CPUType");
                                Console.WriteLine("                            {0}", itemAttributes.CPUType);
                            }
                            List<Creator> creatorList = itemAttributes.Creator;
                            foreach (Creator creator in creatorList) 
                            {
                                Console.WriteLine("                        Creator");
                            }
                            if (itemAttributes.IsSetCuisine()) 
                            {
                                Console.WriteLine("                        Cuisine");
                                Console.WriteLine("                            {0}", itemAttributes.Cuisine);
                            }
                            List<String> dataLinkProtocolList  =  itemAttributes.DataLinkProtocol;
                            foreach (String dataLinkProtocol in dataLinkProtocolList) 
                            { 
                                Console.WriteLine("                        DataLinkProtocol");
                                Console.WriteLine("                            {0}", dataLinkProtocol);
                            }	
                            if (itemAttributes.IsSetDeliveryOption()) 
                            {
                                Console.WriteLine("                        DeliveryOption");
                                Console.WriteLine("                            {0}", itemAttributes.DeliveryOption);
                            }
                            if (itemAttributes.IsSetDelayBetweenShots()) 
                            {
                                Console.WriteLine("                        DelayBetweenShots");
                                DecimalWithUnits  delayBetweenShots = itemAttributes.DelayBetweenShots;
                            } 
                            if (itemAttributes.IsSetDepartment()) 
                            {
                                Console.WriteLine("                        Department");
                                Console.WriteLine("                            {0}", itemAttributes.Department);
                            }
                            if (itemAttributes.IsSetDeweyDecimalNumber()) 
                            {
                                Console.WriteLine("                        DeweyDecimalNumber");
                                Console.WriteLine("                            {0}", itemAttributes.DeweyDecimalNumber);
                            }
                            if (itemAttributes.IsSetDialColor()) 
                            {
                                Console.WriteLine("                        DialColor");
                                Console.WriteLine("                            {0}", itemAttributes.DialColor);
                            }
                            if (itemAttributes.IsSetDialWindowMaterialType()) 
                            {
                                Console.WriteLine("                        DialWindowMaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.DialWindowMaterialType);
                            }
                            if (itemAttributes.IsSetDigitalZoom()) 
                            {
                                Console.WriteLine("                        DigitalZoom");
                                DecimalWithUnits  digitalZoom = itemAttributes.DigitalZoom;
                            } 
                            List<String> directorList  =  itemAttributes.Director;
                            foreach (String director in directorList) 
                            { 
                                Console.WriteLine("                        Director");
                                Console.WriteLine("                            {0}", director);
                            }	
                            if (itemAttributes.IsSetDisplayColorSupport()) 
                            {
                                Console.WriteLine("                        DisplayColorSupport");
                                Console.WriteLine("                            {0}", itemAttributes.DisplayColorSupport);
                            }
                            if (itemAttributes.IsSetDisplaySize()) 
                            {
                                Console.WriteLine("                        DisplaySize");
                                DecimalWithUnits  displaySize = itemAttributes.DisplaySize;
                            } 
                            if (itemAttributes.IsSetDrumSetPieceQuantity()) 
                            {
                                Console.WriteLine("                        DrumSetPieceQuantity");
                                Console.WriteLine("                            {0}", itemAttributes.DrumSetPieceQuantity);
                            }
                            if (itemAttributes.IsSetDVDLayers()) 
                            {
                                Console.WriteLine("                        DVDLayers");
                                Console.WriteLine("                            {0}", itemAttributes.DVDLayers);
                            }
                            if (itemAttributes.IsSetDVDRWDescription()) 
                            {
                                Console.WriteLine("                        DVDRWDescription");
                                Console.WriteLine("                            {0}", itemAttributes.DVDRWDescription);
                            }
                            if (itemAttributes.IsSetDVDSides()) 
                            {
                                Console.WriteLine("                        DVDSides");
                                Console.WriteLine("                            {0}", itemAttributes.DVDSides);
                            }
                            if (itemAttributes.IsSetDPCI()) 
                            {
                                Console.WriteLine("                        DPCI");
                                Console.WriteLine("                            {0}", itemAttributes.DPCI);
                            }
                            if (itemAttributes.IsSetEAN()) 
                            {
                                Console.WriteLine("                        EAN");
                                Console.WriteLine("                            {0}", itemAttributes.EAN);
                            }
                            if (itemAttributes.IsSetEdition()) 
                            {
                                Console.WriteLine("                        Edition");
                                Console.WriteLine("                            {0}", itemAttributes.Edition);
                            }
                            List<String> educationalFocusList  =  itemAttributes.EducationalFocus;
                            foreach (String educationalFocus in educationalFocusList) 
                            { 
                                Console.WriteLine("                        EducationalFocus");
                                Console.WriteLine("                            {0}", educationalFocus);
                            }	
                            List<String> ethnicityList  =  itemAttributes.Ethnicity;
                            foreach (String ethnicity in ethnicityList) 
                            { 
                                Console.WriteLine("                        Ethnicity");
                                Console.WriteLine("                            {0}", ethnicity);
                            }	
                            if (itemAttributes.IsSetESRBAgeRating()) 
                            {
                                Console.WriteLine("                        ESRBAgeRating");
                                Console.WriteLine("                            {0}", itemAttributes.ESRBAgeRating);
                            }
                            if (itemAttributes.IsSetExternalDisplaySupportDescription()) 
                            {
                                Console.WriteLine("                        ExternalDisplaySupportDescription");
                                Console.WriteLine("                            {0}", itemAttributes.ExternalDisplaySupportDescription);
                            }
                            if (itemAttributes.IsSetFabricType()) 
                            {
                                Console.WriteLine("                        FabricType");
                                Console.WriteLine("                            {0}", itemAttributes.FabricType);
                            }
                            if (itemAttributes.IsSetFaxNumber()) 
                            {
                                Console.WriteLine("                        FaxNumber");
                                Console.WriteLine("                            {0}", itemAttributes.FaxNumber);
                            }
                            List<String> featureList  =  itemAttributes.Feature;
                            foreach (String feature in featureList) 
                            { 
                                Console.WriteLine("                        Feature");
                                Console.WriteLine("                            {0}", feature);
                            }	
                            if (itemAttributes.IsSetFilmColorType()) 
                            {
                                Console.WriteLine("                        FilmColorType");
                                Console.WriteLine("                            {0}", itemAttributes.FilmColorType);
                            }
                            if (itemAttributes.IsSetFirstIssueLeadTime()) 
                            {
                                Console.WriteLine("                        FirstIssueLeadTime");
                                StringWithUnits  firstIssueLeadTime = itemAttributes.FirstIssueLeadTime;
                            } 
                            if (itemAttributes.IsSetFlavorName()) 
                            {
                                Console.WriteLine("                        FlavorName");
                                Console.WriteLine("                            {0}", itemAttributes.FlavorName);
                            }
                            if (itemAttributes.IsSetFloppyDiskDriveDescription()) 
                            {
                                Console.WriteLine("                        FloppyDiskDriveDescription");
                                Console.WriteLine("                            {0}", itemAttributes.FloppyDiskDriveDescription);
                            }
                            List<String> formatList  =  itemAttributes.Format;
                            foreach (String format in formatList) 
                            { 
                                Console.WriteLine("                        Format");
                                Console.WriteLine("                            {0}", format);
                            }	
                            List<String> formFactorList  =  itemAttributes.FormFactor;
                            foreach (String formFactor in formFactorList) 
                            { 
                                Console.WriteLine("                        FormFactor");
                                Console.WriteLine("                            {0}", formFactor);
                            }	
                            if (itemAttributes.IsSetGemType()) 
                            {
                                Console.WriteLine("                        GemType");
                                Console.WriteLine("                            {0}", itemAttributes.GemType);
                            }
                            List<String> gemTypeSetElementList  =  itemAttributes.GemTypeSetElement;
                            foreach (String gemTypeSetElement in gemTypeSetElementList) 
                            { 
                                Console.WriteLine("                        GemTypeSetElement");
                                Console.WriteLine("                            {0}", gemTypeSetElement);
                            }	
                            List<String> genderList  =  itemAttributes.Gender;
                            foreach (String gender in genderList) 
                            { 
                                Console.WriteLine("                        Gender");
                                Console.WriteLine("                            {0}", gender);
                            }	
                            if (itemAttributes.IsSetGenre()) 
                            {
                                Console.WriteLine("                        Genre");
                                Console.WriteLine("                            {0}", itemAttributes.Genre);
                            }
                            if (itemAttributes.IsSetGLProductGroup()) 
                            {
                                Console.WriteLine("                        GLProductGroup");
                                Console.WriteLine("                            {0}", itemAttributes.GLProductGroup);
                            }
                            if (itemAttributes.IsSetGolfClubFlex()) 
                            {
                                Console.WriteLine("                        GolfClubFlex");
                                Console.WriteLine("                            {0}", itemAttributes.GolfClubFlex);
                            }
                            if (itemAttributes.IsSetGolfClubLoft()) 
                            {
                                Console.WriteLine("                        GolfClubLoft");
                                Console.WriteLine("                            {0}", itemAttributes.GolfClubLoft);
                            }
                            if (itemAttributes.IsSetGraphicsCardInterface()) 
                            {
                                Console.WriteLine("                        GraphicsCardInterface");
                                Console.WriteLine("                            {0}", itemAttributes.GraphicsCardInterface);
                            }
                            if (itemAttributes.IsSetGraphicsDescription()) 
                            {
                                Console.WriteLine("                        GraphicsDescription");
                                Console.WriteLine("                            {0}", itemAttributes.GraphicsDescription);
                            }
                            if (itemAttributes.IsSetGraphicsMemorySize()) 
                            {
                                Console.WriteLine("                        GraphicsMemorySize");
                                DecimalWithUnits  graphicsMemorySize = itemAttributes.GraphicsMemorySize;
                            } 
                            if (itemAttributes.IsSetGuitarAttribute()) 
                            {
                                Console.WriteLine("                        GuitarAttribute");
                                Console.WriteLine("                            {0}", itemAttributes.GuitarAttribute);
                            }
                            if (itemAttributes.IsSetGuitarBridgeSystem()) 
                            {
                                Console.WriteLine("                        GuitarBridgeSystem");
                                Console.WriteLine("                            {0}", itemAttributes.GuitarBridgeSystem);
                            }
                            if (itemAttributes.IsSetGuitarPickThickness()) 
                            {
                                Console.WriteLine("                        GuitarPickThickness");
                                Console.WriteLine("                            {0}", itemAttributes.GuitarPickThickness);
                            }
                            if (itemAttributes.IsSetGuitarPickupConfiguration()) 
                            {
                                Console.WriteLine("                        GuitarPickupConfiguration");
                                Console.WriteLine("                            {0}", itemAttributes.GuitarPickupConfiguration);
                            }
                            if (itemAttributes.IsSetHandOrientation()) 
                            {
                                Console.WriteLine("                        HandOrientation");
                                Console.WriteLine("                            {0}", itemAttributes.HandOrientation);
                            }
                            if (itemAttributes.IsSetHardDiskCount()) 
                            {
                                Console.WriteLine("                        HardDiskCount");
                                Console.WriteLine("                            {0}", itemAttributes.HardDiskCount);
                            }
                            if (itemAttributes.IsSetHardDiskSize()) 
                            {
                                Console.WriteLine("                        HardDiskSize");
                                DecimalWithUnits  hardDiskSize = itemAttributes.HardDiskSize;
                            } 
                            if (itemAttributes.IsSetHardDiskInterface()) 
                            {
                                Console.WriteLine("                        HardDiskInterface");
                                Console.WriteLine("                            {0}", itemAttributes.HardDiskInterface);
                            }
                            if (itemAttributes.IsSetHardwarePlatform()) 
                            {
                                Console.WriteLine("                        HardwarePlatform");
                                Console.WriteLine("                            {0}", itemAttributes.HardwarePlatform);
                            }
                            if (itemAttributes.IsSetHasAutoFocus()) 
                            {
                                Console.WriteLine("                        HasAutoFocus");
                                Console.WriteLine("                            {0}", itemAttributes.HasAutoFocus);
                            }
                            if (itemAttributes.IsSetHasBurstMode()) 
                            {
                                Console.WriteLine("                        HasBurstMode");
                                Console.WriteLine("                            {0}", itemAttributes.HasBurstMode);
                            }
                            if (itemAttributes.IsSetHasInCameraEditing()) 
                            {
                                Console.WriteLine("                        HasInCameraEditing");
                                Console.WriteLine("                            {0}", itemAttributes.HasInCameraEditing);
                            }
                            if (itemAttributes.IsSetHasRedEyeReduction()) 
                            {
                                Console.WriteLine("                        HasRedEyeReduction");
                                Console.WriteLine("                            {0}", itemAttributes.HasRedEyeReduction);
                            }
                            if (itemAttributes.IsSetHasSelfTimer()) 
                            {
                                Console.WriteLine("                        HasSelfTimer");
                                Console.WriteLine("                            {0}", itemAttributes.HasSelfTimer);
                            }
                            if (itemAttributes.IsSetHasTripodMount()) 
                            {
                                Console.WriteLine("                        HasTripodMount");
                                Console.WriteLine("                            {0}", itemAttributes.HasTripodMount);
                            }
                            if (itemAttributes.IsSetHasVideoOut()) 
                            {
                                Console.WriteLine("                        HasVideoOut");
                                Console.WriteLine("                            {0}", itemAttributes.HasVideoOut);
                            }
                            if (itemAttributes.IsSetHasViewfinder()) 
                            {
                                Console.WriteLine("                        HasViewfinder");
                                Console.WriteLine("                            {0}", itemAttributes.HasViewfinder);
                            }
                            if (itemAttributes.IsSetHazardousMaterialType()) 
                            {
                                Console.WriteLine("                        HazardousMaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.HazardousMaterialType);
                            }
                            if (itemAttributes.IsSetHoursOfOperation()) 
                            {
                                Console.WriteLine("                        HoursOfOperation");
                                Console.WriteLine("                            {0}", itemAttributes.HoursOfOperation);
                            }
                            if (itemAttributes.IsSetIncludedSoftware()) 
                            {
                                Console.WriteLine("                        IncludedSoftware");
                                Console.WriteLine("                            {0}", itemAttributes.IncludedSoftware);
                            }
                            if (itemAttributes.IsSetIncludesMp3Player()) 
                            {
                                Console.WriteLine("                        IncludesMp3Player");
                                Console.WriteLine("                            {0}", itemAttributes.IncludesMp3Player);
                            }
                            if (itemAttributes.IsSetIngredients()) 
                            {
                                Console.WriteLine("                        Ingredients");
                                Console.WriteLine("                            {0}", itemAttributes.Ingredients);
                            }
                            List<String> ingredientsSetElementList  =  itemAttributes.IngredientsSetElement;
                            foreach (String ingredientsSetElement in ingredientsSetElementList) 
                            { 
                                Console.WriteLine("                        IngredientsSetElement");
                                Console.WriteLine("                            {0}", ingredientsSetElement);
                            }	
                            if (itemAttributes.IsSetInstrumentKey()) 
                            {
                                Console.WriteLine("                        InstrumentKey");
                                Console.WriteLine("                            {0}", itemAttributes.InstrumentKey);
                            }
                            List<String> interestList  =  itemAttributes.Interest;
                            foreach (String interest in interestList) 
                            { 
                                Console.WriteLine("                        Interest");
                                Console.WriteLine("                            {0}", interest);
                            }	
                            if (itemAttributes.IsSetIsAdultProduct()) 
                            {
                                Console.WriteLine("                        IsAdultProduct");
                                Console.WriteLine("                            {0}", itemAttributes.IsAdultProduct);
                            }
                            if (itemAttributes.IsSetIsAutographed()) 
                            {
                                Console.WriteLine("                        IsAutographed");
                                Console.WriteLine("                            {0}", itemAttributes.IsAutographed);
                            }
                            if (itemAttributes.IsSetISBN()) 
                            {
                                Console.WriteLine("                        ISBN");
                                Console.WriteLine("                            {0}", itemAttributes.ISBN);
                            }
                            if (itemAttributes.IsSetIsFragile()) 
                            {
                                Console.WriteLine("                        IsFragile");
                                Console.WriteLine("                            {0}", itemAttributes.IsFragile);
                            }
                            if (itemAttributes.IsSetIsLabCreated()) 
                            {
                                Console.WriteLine("                        IsLabCreated");
                                Console.WriteLine("                            {0}", itemAttributes.IsLabCreated);
                            }
                            if (itemAttributes.IsSetIsMemorabilia()) 
                            {
                                Console.WriteLine("                        IsMemorabilia");
                                Console.WriteLine("                            {0}", itemAttributes.IsMemorabilia);
                            }
                            if (itemAttributes.IsSetISOEquivalent()) 
                            {
                                Console.WriteLine("                        ISOEquivalent");
                                NonNegativeIntegerWithUnits  ISOEquivalent = itemAttributes.ISOEquivalent;
                            } 
                            if (itemAttributes.IsSetIsPreannounce()) 
                            {
                                Console.WriteLine("                        IsPreannounce");
                                Console.WriteLine("                            {0}", itemAttributes.IsPreannounce);
                            }
                            if (itemAttributes.IsSetIssuesPerYear()) 
                            {
                                Console.WriteLine("                        IssuesPerYear");
                                Console.WriteLine("                            {0}", itemAttributes.IssuesPerYear);
                            }
                            if (itemAttributes.IsSetItemDimensions()) 
                            {
                                Console.WriteLine("                        ItemDimensions");
                                ItemDimensions  itemDimensions = itemAttributes.ItemDimensions;
                                if (itemDimensions.IsSetHeight()) 
                                {
                                    Console.WriteLine("                            Height");
                                    DecimalWithUnits  height = itemDimensions.Height;
                                } 
                                if (itemDimensions.IsSetLength()) 
                                {
                                    Console.WriteLine("                            Length");
                                    DecimalWithUnits  length = itemDimensions.Length;
                                } 
                                if (itemDimensions.IsSetWeight()) 
                                {
                                    Console.WriteLine("                            Weight");
                                    DecimalWithUnits  weight = itemDimensions.Weight;
                                } 
                                if (itemDimensions.IsSetWidth()) 
                                {
                                    Console.WriteLine("                            Width");
                                    DecimalWithUnits  width = itemDimensions.Width;
                                } 
                            } 
                            if (itemAttributes.IsSetKeyboardDescription()) 
                            {
                                Console.WriteLine("                        KeyboardDescription");
                                Console.WriteLine("                            {0}", itemAttributes.KeyboardDescription);
                            }
                            if (itemAttributes.IsSetLabel()) 
                            {
                                Console.WriteLine("                        Label");
                                Console.WriteLine("                            {0}", itemAttributes.Label);
                            }
                            List<String> languageNameList  =  itemAttributes.LanguageName;
                            foreach (String languageName in languageNameList) 
                            { 
                                Console.WriteLine("                        LanguageName");
                                Console.WriteLine("                            {0}", languageName);
                            }	
                            if (itemAttributes.IsSetLanguages()) 
                            {
                                Console.WriteLine("                        Languages");
                                Languages  languages = itemAttributes.Languages;
                                List<Language> languageList = languages.Language;
                                foreach (Language language in languageList) 
                                {
                                    Console.WriteLine("                            Language");
                                    if (language.IsSetName()) 
                                    {
                                        Console.WriteLine("                                Name");
                                        Console.WriteLine("                                    {0}", language.Name);
                                    }
                                    if (language.IsSetType()) 
                                    {
                                        Console.WriteLine("                                Type");
                                        Console.WriteLine("                                    {0}", language.Type);
                                    }
                                    if (language.IsSetAudioFormat()) 
                                    {
                                        Console.WriteLine("                                AudioFormat");
                                        Console.WriteLine("                                    {0}", language.AudioFormat);
                                    }
                                }
                            } 
                            if (itemAttributes.IsSetLegalDisclaimer()) 
                            {
                                Console.WriteLine("                        LegalDisclaimer");
                                Console.WriteLine("                            {0}", itemAttributes.LegalDisclaimer);
                            }
                            if (itemAttributes.IsSetLensType()) 
                            {
                                Console.WriteLine("                        LensType");
                                Console.WriteLine("                            {0}", itemAttributes.LensType);
                            }
                            if (itemAttributes.IsSetLineVoltage()) 
                            {
                                Console.WriteLine("                        LineVoltage");
                                Console.WriteLine("                            {0}", itemAttributes.LineVoltage);
                            }
                            if (itemAttributes.IsSetListPrice()) 
                            {
                                Console.WriteLine("                        ListPrice");
                                Price  listPrice = itemAttributes.ListPrice;
                                if (listPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", listPrice.Amount);
                                }
                                if (listPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", listPrice.CurrencyCode);
                                }
                                if (listPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", listPrice.FormattedPrice);
                                }
                            } 
                            if (itemAttributes.IsSetMacroFocusRange()) 
                            {
                                Console.WriteLine("                        MacroFocusRange");
                                Console.WriteLine("                            {0}", itemAttributes.MacroFocusRange);
                            }
                            if (itemAttributes.IsSetMagazineType()) 
                            {
                                Console.WriteLine("                        MagazineType");
                                Console.WriteLine("                            {0}", itemAttributes.MagazineType);
                            }
                            if (itemAttributes.IsSetMalletHardness()) 
                            {
                                Console.WriteLine("                        MalletHardness");
                                Console.WriteLine("                            {0}", itemAttributes.MalletHardness);
                            }
                            if (itemAttributes.IsSetManufacturer()) 
                            {
                                Console.WriteLine("                        Manufacturer");
                                Console.WriteLine("                            {0}", itemAttributes.Manufacturer);
                            }
                            if (itemAttributes.IsSetManufacturerLaborWarrantyDescription()) 
                            {
                                Console.WriteLine("                        ManufacturerLaborWarrantyDescription");
                                Console.WriteLine("                            {0}", itemAttributes.ManufacturerLaborWarrantyDescription);
                            }
                            if (itemAttributes.IsSetManufacturerMaximumAge()) 
                            {
                                Console.WriteLine("                        ManufacturerMaximumAge");
                                DecimalWithUnits  manufacturerMaximumAge = itemAttributes.ManufacturerMaximumAge;
                            } 
                            if (itemAttributes.IsSetManufacturerMinimumAge()) 
                            {
                                Console.WriteLine("                        ManufacturerMinimumAge");
                                DecimalWithUnits  manufacturerMinimumAge = itemAttributes.ManufacturerMinimumAge;
                            } 
                            if (itemAttributes.IsSetManufacturerPartsWarrantyDescription()) 
                            {
                                Console.WriteLine("                        ManufacturerPartsWarrantyDescription");
                                Console.WriteLine("                            {0}", itemAttributes.ManufacturerPartsWarrantyDescription);
                            }
                            if (itemAttributes.IsSetMaterialType()) 
                            {
                                Console.WriteLine("                        MaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.MaterialType);
                            }
                            List<String> materialTypeSetElementList  =  itemAttributes.MaterialTypeSetElement;
                            foreach (String materialTypeSetElement in materialTypeSetElementList) 
                            { 
                                Console.WriteLine("                        MaterialTypeSetElement");
                                Console.WriteLine("                            {0}", materialTypeSetElement);
                            }	
                            if (itemAttributes.IsSetMaximumAperture()) 
                            {
                                Console.WriteLine("                        MaximumAperture");
                                DecimalWithUnits  maximumAperture = itemAttributes.MaximumAperture;
                            } 
                            if (itemAttributes.IsSetMaximumColorDepth()) 
                            {
                                Console.WriteLine("                        MaximumColorDepth");
                                Console.WriteLine("                            {0}", itemAttributes.MaximumColorDepth);
                            }
                            if (itemAttributes.IsSetMaximumFocalLength()) 
                            {
                                Console.WriteLine("                        MaximumFocalLength");
                                DecimalWithUnits  maximumFocalLength = itemAttributes.MaximumFocalLength;
                            } 
                            if (itemAttributes.IsSetMaximumHighResolutionImages()) 
                            {
                                Console.WriteLine("                        MaximumHighResolutionImages");
                                NonNegativeIntegerWithUnits  maximumHighResolutionImages = itemAttributes.MaximumHighResolutionImages;
                            } 
                            if (itemAttributes.IsSetMaximumHorizontalResolution()) 
                            {
                                Console.WriteLine("                        MaximumHorizontalResolution");
                                NonNegativeIntegerWithUnits  maximumHorizontalResolution = itemAttributes.MaximumHorizontalResolution;
                            } 
                            if (itemAttributes.IsSetMaximumLowResolutionImages()) 
                            {
                                Console.WriteLine("                        MaximumLowResolutionImages");
                                Console.WriteLine("                            {0}", itemAttributes.MaximumLowResolutionImages);
                            }
                            if (itemAttributes.IsSetMaximumResolution()) 
                            {
                                Console.WriteLine("                        MaximumResolution");
                                DecimalWithUnits  maximumResolution = itemAttributes.MaximumResolution;
                            } 
                            if (itemAttributes.IsSetMaximumShutterSpeed()) 
                            {
                                Console.WriteLine("                        MaximumShutterSpeed");
                                DecimalWithUnits  maximumShutterSpeed = itemAttributes.MaximumShutterSpeed;
                            } 
                            if (itemAttributes.IsSetMaximumVerticalResolution()) 
                            {
                                Console.WriteLine("                        MaximumVerticalResolution");
                                NonNegativeIntegerWithUnits  maximumVerticalResolution = itemAttributes.MaximumVerticalResolution;
                            } 
                            if (itemAttributes.IsSetMaximumWeightRecommendation()) 
                            {
                                Console.WriteLine("                        MaximumWeightRecommendation");
                                DecimalWithUnits  maximumWeightRecommendation = itemAttributes.MaximumWeightRecommendation;
                            } 
                            if (itemAttributes.IsSetMediaType()) 
                            {
                                Console.WriteLine("                        MediaType");
                                Console.WriteLine("                            {0}", itemAttributes.MediaType);
                            }
                            if (itemAttributes.IsSetMemorySlotsAvailable()) 
                            {
                                Console.WriteLine("                        MemorySlotsAvailable");
                                Console.WriteLine("                            {0}", itemAttributes.MemorySlotsAvailable);
                            }
                            if (itemAttributes.IsSetMetalStamp()) 
                            {
                                Console.WriteLine("                        MetalStamp");
                                Console.WriteLine("                            {0}", itemAttributes.MetalStamp);
                            }
                            if (itemAttributes.IsSetMetalType()) 
                            {
                                Console.WriteLine("                        MetalType");
                                Console.WriteLine("                            {0}", itemAttributes.MetalType);
                            }
                            if (itemAttributes.IsSetMiniMovieDescription()) 
                            {
                                Console.WriteLine("                        MiniMovieDescription");
                                Console.WriteLine("                            {0}", itemAttributes.MiniMovieDescription);
                            }
                            if (itemAttributes.IsSetMinimumFocalLength()) 
                            {
                                Console.WriteLine("                        MinimumFocalLength");
                                DecimalWithUnits  minimumFocalLength = itemAttributes.MinimumFocalLength;
                            } 
                            if (itemAttributes.IsSetMinimumShutterSpeed()) 
                            {
                                Console.WriteLine("                        MinimumShutterSpeed");
                                DecimalWithUnits  minimumShutterSpeed = itemAttributes.MinimumShutterSpeed;
                            } 
                            if (itemAttributes.IsSetModel()) 
                            {
                                Console.WriteLine("                        Model");
                                Console.WriteLine("                            {0}", itemAttributes.Model);
                            }
                            if (itemAttributes.IsSetModelYear()) 
                            {
                                Console.WriteLine("                        ModelYear");
                                Console.WriteLine("                            {0}", itemAttributes.ModelYear);
                            }
                            if (itemAttributes.IsSetModemDescription()) 
                            {
                                Console.WriteLine("                        ModemDescription");
                                Console.WriteLine("                            {0}", itemAttributes.ModemDescription);
                            }
                            if (itemAttributes.IsSetMonitorSize()) 
                            {
                                Console.WriteLine("                        MonitorSize");
                                DecimalWithUnits  monitorSize = itemAttributes.MonitorSize;
                            } 
                            if (itemAttributes.IsSetMonitorViewableDiagonalSize()) 
                            {
                                Console.WriteLine("                        MonitorViewableDiagonalSize");
                                DecimalWithUnits  monitorViewableDiagonalSize = itemAttributes.MonitorViewableDiagonalSize;
                            } 
                            if (itemAttributes.IsSetMouseDescription()) 
                            {
                                Console.WriteLine("                        MouseDescription");
                                Console.WriteLine("                            {0}", itemAttributes.MouseDescription);
                            }
                            if (itemAttributes.IsSetMPN()) 
                            {
                                Console.WriteLine("                        MPN");
                                Console.WriteLine("                            {0}", itemAttributes.MPN);
                            }
                            if (itemAttributes.IsSetMusicalStyle()) 
                            {
                                Console.WriteLine("                        MusicalStyle");
                                Console.WriteLine("                            {0}", itemAttributes.MusicalStyle);
                            }
                            if (itemAttributes.IsSetNativeResolution()) 
                            {
                                Console.WriteLine("                        NativeResolution");
                                Console.WriteLine("                            {0}", itemAttributes.NativeResolution);
                            }
                            if (itemAttributes.IsSetNeighborhood()) 
                            {
                                Console.WriteLine("                        Neighborhood");
                                Console.WriteLine("                            {0}", itemAttributes.Neighborhood);
                            }
                            if (itemAttributes.IsSetNetworkInterfaceDescription()) 
                            {
                                Console.WriteLine("                        NetworkInterfaceDescription");
                                Console.WriteLine("                            {0}", itemAttributes.NetworkInterfaceDescription);
                            }
                            if (itemAttributes.IsSetNotebookDisplayTechnology()) 
                            {
                                Console.WriteLine("                        NotebookDisplayTechnology");
                                Console.WriteLine("                            {0}", itemAttributes.NotebookDisplayTechnology);
                            }
                            if (itemAttributes.IsSetNotebookPointingDeviceDescription()) 
                            {
                                Console.WriteLine("                        NotebookPointingDeviceDescription");
                                Console.WriteLine("                            {0}", itemAttributes.NotebookPointingDeviceDescription);
                            }
                            if (itemAttributes.IsSetNumberOfDiscs()) 
                            {
                                Console.WriteLine("                        NumberOfDiscs");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfDiscs);
                            }
                            if (itemAttributes.IsSetNumberOfIssues()) 
                            {
                                Console.WriteLine("                        NumberOfIssues");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfIssues);
                            }
                            if (itemAttributes.IsSetNumberOfItems()) 
                            {
                                Console.WriteLine("                        NumberOfItems");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfItems);
                            }
                            if (itemAttributes.IsSetNumberOfKeys()) 
                            {
                                Console.WriteLine("                        NumberOfKeys");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfKeys);
                            }
                            if (itemAttributes.IsSetNumberOfPages()) 
                            {
                                Console.WriteLine("                        NumberOfPages");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfPages);
                            }
                            if (itemAttributes.IsSetNumberOfPearls()) 
                            {
                                Console.WriteLine("                        NumberOfPearls");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfPearls);
                            }
                            if (itemAttributes.IsSetNumberOfRapidFireShots()) 
                            {
                                Console.WriteLine("                        NumberOfRapidFireShots");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfRapidFireShots);
                            }
                            if (itemAttributes.IsSetNumberOfStones()) 
                            {
                                Console.WriteLine("                        NumberOfStones");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfStones);
                            }
                            if (itemAttributes.IsSetNumberOfStrings()) 
                            {
                                Console.WriteLine("                        NumberOfStrings");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfStrings);
                            }
                            if (itemAttributes.IsSetNumberOfTracks()) 
                            {
                                Console.WriteLine("                        NumberOfTracks");
                                Console.WriteLine("                            {0}", itemAttributes.NumberOfTracks);
                            }
                            if (itemAttributes.IsSetOperatingSystem()) 
                            {
                                Console.WriteLine("                        OperatingSystem");
                                Console.WriteLine("                            {0}", itemAttributes.OperatingSystem);
                            }
                            if (itemAttributes.IsSetOpticalSensorResolution()) 
                            {
                                Console.WriteLine("                        OpticalSensorResolution");
                                DecimalWithUnits  opticalSensorResolution = itemAttributes.OpticalSensorResolution;
                            } 
                            if (itemAttributes.IsSetOpticalZoom()) 
                            {
                                Console.WriteLine("                        OpticalZoom");
                                DecimalWithUnits  opticalZoom = itemAttributes.OpticalZoom;
                            } 
                            if (itemAttributes.IsSetOriginalReleaseDate()) 
                            {
                                Console.WriteLine("                        OriginalReleaseDate");
                                Console.WriteLine("                            {0}", itemAttributes.OriginalReleaseDate);
                            }
                            if (itemAttributes.IsSetOutputWattage()) 
                            {
                                Console.WriteLine("                        OutputWattage");
                                Console.WriteLine("                            {0}", itemAttributes.OutputWattage);
                            }
                            if (itemAttributes.IsSetPackageDimensions()) 
                            {
                                Console.WriteLine("                        PackageDimensions");
                                PackageDimensions  packageDimensions = itemAttributes.PackageDimensions;
                                if (packageDimensions.IsSetHeight()) 
                                {
                                    Console.WriteLine("                            Height");
                                    DecimalWithUnits  height = packageDimensions.Height;
                                } 
                                if (packageDimensions.IsSetLength()) 
                                {
                                    Console.WriteLine("                            Length");
                                    DecimalWithUnits  length = packageDimensions.Length;
                                } 
                                if (packageDimensions.IsSetWeight()) 
                                {
                                    Console.WriteLine("                            Weight");
                                    DecimalWithUnits  weight = packageDimensions.Weight;
                                } 
                                if (packageDimensions.IsSetWidth()) 
                                {
                                    Console.WriteLine("                            Width");
                                    DecimalWithUnits  width = packageDimensions.Width;
                                } 
                            } 
                            if (itemAttributes.IsSetPackageQuantity()) 
                            {
                                Console.WriteLine("                        PackageQuantity");
                                Console.WriteLine("                            {0}", itemAttributes.PackageQuantity);
                            }
                            List<String> pantLengthList  =  itemAttributes.PantLength;
                            foreach (String pantLength in pantLengthList) 
                            { 
                                Console.WriteLine("                        PantLength");
                                Console.WriteLine("                            {0}", pantLength);
                            }	
                            List<String> pantSizeList  =  itemAttributes.PantSize;
                            foreach (String pantSize in pantSizeList) 
                            { 
                                Console.WriteLine("                        PantSize");
                                Console.WriteLine("                            {0}", pantSize);
                            }	
                            if (itemAttributes.IsSetPearlLustre()) 
                            {
                                Console.WriteLine("                        PearlLustre");
                                Console.WriteLine("                            {0}", itemAttributes.PearlLustre);
                            }
                            if (itemAttributes.IsSetPearlMinimumColor()) 
                            {
                                Console.WriteLine("                        PearlMinimumColor");
                                Console.WriteLine("                            {0}", itemAttributes.PearlMinimumColor);
                            }
                            if (itemAttributes.IsSetPearlShape()) 
                            {
                                Console.WriteLine("                        PearlShape");
                                Console.WriteLine("                            {0}", itemAttributes.PearlShape);
                            }
                            if (itemAttributes.IsSetPearlStringingMethod()) 
                            {
                                Console.WriteLine("                        PearlStringingMethod");
                                Console.WriteLine("                            {0}", itemAttributes.PearlStringingMethod);
                            }
                            if (itemAttributes.IsSetPearlSurfaceBlemishes()) 
                            {
                                Console.WriteLine("                        PearlSurfaceBlemishes");
                                Console.WriteLine("                            {0}", itemAttributes.PearlSurfaceBlemishes);
                            }
                            if (itemAttributes.IsSetPearlType()) 
                            {
                                Console.WriteLine("                        PearlType");
                                Console.WriteLine("                            {0}", itemAttributes.PearlType);
                            }
                            if (itemAttributes.IsSetPearlUniformity()) 
                            {
                                Console.WriteLine("                        PearlUniformity");
                                Console.WriteLine("                            {0}", itemAttributes.PearlUniformity);
                            }
                            if (itemAttributes.IsSetPhoneNumber()) 
                            {
                                Console.WriteLine("                        PhoneNumber");
                                Console.WriteLine("                            {0}", itemAttributes.PhoneNumber);
                            }
                            List<String> photoFlashTypeList  =  itemAttributes.PhotoFlashType;
                            foreach (String photoFlashType in photoFlashTypeList) 
                            { 
                                Console.WriteLine("                        PhotoFlashType");
                                Console.WriteLine("                            {0}", photoFlashType);
                            }	
                            List<String> pictureFormatList  =  itemAttributes.PictureFormat;
                            foreach (String pictureFormat in pictureFormatList) 
                            { 
                                Console.WriteLine("                        PictureFormat");
                                Console.WriteLine("                            {0}", pictureFormat);
                            }	
                            List<String> platformList  =  itemAttributes.Platform;
                            foreach (String platform in platformList) 
                            { 
                                Console.WriteLine("                        Platform");
                                Console.WriteLine("                            {0}", platform);
                            }	
                            if (itemAttributes.IsSetPriceRating()) 
                            {
                                Console.WriteLine("                        PriceRating");
                                Console.WriteLine("                            {0}", itemAttributes.PriceRating);
                            }
                            List<String> primaryColorList  =  itemAttributes.PrimaryColor;
                            foreach (String primaryColor in primaryColorList) 
                            { 
                                Console.WriteLine("                        PrimaryColor");
                                Console.WriteLine("                            {0}", primaryColor);
                            }	
                            if (itemAttributes.IsSetProcessorCount()) 
                            {
                                Console.WriteLine("                        ProcessorCount");
                                Console.WriteLine("                            {0}", itemAttributes.ProcessorCount);
                            }
                            if (itemAttributes.IsSetProductGroup()) 
                            {
                                Console.WriteLine("                        ProductGroup");
                                Console.WriteLine("                            {0}", itemAttributes.ProductGroup);
                            }
                            if (itemAttributes.IsSetProductSiteLaunchDate()) 
                            {
                                Console.WriteLine("                        ProductSiteLaunchDate");
                                Console.WriteLine("                            {0}", itemAttributes.ProductSiteLaunchDate);
                            }
                            if (itemAttributes.IsSetProductTypeName()) 
                            {
                                Console.WriteLine("                        ProductTypeName");
                                Console.WriteLine("                            {0}", itemAttributes.ProductTypeName);
                            }
                            if (itemAttributes.IsSetProductTypeSubcategory()) 
                            {
                                Console.WriteLine("                        ProductTypeSubcategory");
                                Console.WriteLine("                            {0}", itemAttributes.ProductTypeSubcategory);
                            }
                            if (itemAttributes.IsSetPromotionalTag()) 
                            {
                                Console.WriteLine("                        PromotionalTag");
                                Console.WriteLine("                            {0}", itemAttributes.PromotionalTag);
                            }
                            if (itemAttributes.IsSetPublicationDate()) 
                            {
                                Console.WriteLine("                        PublicationDate");
                                Console.WriteLine("                            {0}", itemAttributes.PublicationDate);
                            }
                            if (itemAttributes.IsSetPublisher()) 
                            {
                                Console.WriteLine("                        Publisher");
                                Console.WriteLine("                            {0}", itemAttributes.Publisher);
                            }
                            if (itemAttributes.IsSetPOBoxShippingExcluded()) 
                            {
                                Console.WriteLine("                        POBoxShippingExcluded");
                                Console.WriteLine("                            {0}", itemAttributes.POBoxShippingExcluded);
                            }
                            if (itemAttributes.IsSetReadingLevel()) 
                            {
                                Console.WriteLine("                        ReadingLevel");
                                Console.WriteLine("                            {0}", itemAttributes.ReadingLevel);
                            }
                            List<String> returnMethodList  =  itemAttributes.ReturnMethod;
                            foreach (String returnMethod in returnMethodList) 
                            { 
                                Console.WriteLine("                        ReturnMethod");
                                Console.WriteLine("                            {0}", returnMethod);
                            }	
                            if (itemAttributes.IsSetRecorderTrackCount()) 
                            {
                                Console.WriteLine("                        RecorderTrackCount");
                                Console.WriteLine("                            {0}", itemAttributes.RecorderTrackCount);
                            }
                            if (itemAttributes.IsSetRegionCode()) 
                            {
                                Console.WriteLine("                        RegionCode");
                                Console.WriteLine("                            {0}", itemAttributes.RegionCode);
                            }
                            if (itemAttributes.IsSetRegionOfOrigin()) 
                            {
                                Console.WriteLine("                        RegionOfOrigin");
                                Console.WriteLine("                            {0}", itemAttributes.RegionOfOrigin);
                            }
                            if (itemAttributes.IsSetReturnPolicy()) 
                            {
                                Console.WriteLine("                        ReturnPolicy");
                                Console.WriteLine("                            {0}", itemAttributes.ReturnPolicy);
                            }
                            if (itemAttributes.IsSetReleaseDate()) 
                            {
                                Console.WriteLine("                        ReleaseDate");
                                Console.WriteLine("                            {0}", itemAttributes.ReleaseDate);
                            }
                            if (itemAttributes.IsSetRemovableMemory()) 
                            {
                                Console.WriteLine("                        RemovableMemory");
                                Console.WriteLine("                            {0}", itemAttributes.RemovableMemory);
                            }
                            if (itemAttributes.IsSetRemovableStorage()) 
                            {
                                Console.WriteLine("                        RemovableStorage");
                                Console.WriteLine("                            {0}", itemAttributes.RemovableStorage);
                            }
                            if (itemAttributes.IsSetRequiredVoltageRange()) 
                            {
                                Console.WriteLine("                        RequiredVoltageRange");
                                Console.WriteLine("                            {0}", itemAttributes.RequiredVoltageRange);
                            }
                            if (itemAttributes.IsSetResolutionModes()) 
                            {
                                Console.WriteLine("                        ResolutionModes");
                                Console.WriteLine("                            {0}", itemAttributes.ResolutionModes);
                            }
                            if (itemAttributes.IsSetRingSize()) 
                            {
                                Console.WriteLine("                        RingSize");
                                Console.WriteLine("                            {0}", itemAttributes.RingSize);
                            }
                            if (itemAttributes.IsSetRunningTime()) 
                            {
                                Console.WriteLine("                        RunningTime");
                                DecimalWithUnits  runningTime = itemAttributes.RunningTime;
                            } 
                            if (itemAttributes.IsSetScentName()) 
                            {
                                Console.WriteLine("                        ScentName");
                                Console.WriteLine("                            {0}", itemAttributes.ScentName);
                            }
                            if (itemAttributes.IsSetSecondaryCacheSize()) 
                            {
                                Console.WriteLine("                        SecondaryCacheSize");
                                NonNegativeIntegerWithUnits  secondaryCacheSize = itemAttributes.SecondaryCacheSize;
                            } 
                            if (itemAttributes.IsSetSettingType()) 
                            {
                                Console.WriteLine("                        SettingType");
                                Console.WriteLine("                            {0}", itemAttributes.SettingType);
                            }
                            if (itemAttributes.IsSetShaftMaterialType()) 
                            {
                                Console.WriteLine("                        ShaftMaterialType");
                                Console.WriteLine("                            {0}", itemAttributes.ShaftMaterialType);
                            }
                            List<String> shoeSizeList  =  itemAttributes.ShoeSize;
                            foreach (String shoeSize in shoeSizeList) 
                            { 
                                Console.WriteLine("                        ShoeSize");
                                Console.WriteLine("                            {0}", shoeSize);
                            }	
                            if (itemAttributes.IsSetSize()) 
                            {
                                Console.WriteLine("                        Size");
                                Console.WriteLine("                            {0}", itemAttributes.Size);
                            }
                            if (itemAttributes.IsSetSizePerPearl()) 
                            {
                                Console.WriteLine("                        SizePerPearl");
                                Console.WriteLine("                            {0}", itemAttributes.SizePerPearl);
                            }
                            if (itemAttributes.IsSetSkillLevel()) 
                            {
                                Console.WriteLine("                        SkillLevel");
                                Console.WriteLine("                            {0}", itemAttributes.SkillLevel);
                            }
                            if (itemAttributes.IsSetSKU()) 
                            {
                                Console.WriteLine("                        SKU");
                                Console.WriteLine("                            {0}", itemAttributes.SKU);
                            }
                            if (itemAttributes.IsSetSoldInStores()) 
                            {
                                Console.WriteLine("                        SoldInStores");
                                Console.WriteLine("                            {0}", itemAttributes.SoldInStores);
                            }
                            if (itemAttributes.IsSetSoundCardDescription()) 
                            {
                                Console.WriteLine("                        SoundCardDescription");
                                Console.WriteLine("                            {0}", itemAttributes.SoundCardDescription);
                            }
                            if (itemAttributes.IsSetSpeakerCount()) 
                            {
                                Console.WriteLine("                        SpeakerCount");
                                Console.WriteLine("                            {0}", itemAttributes.SpeakerCount);
                            }
                            if (itemAttributes.IsSetSpeakerDescription()) 
                            {
                                Console.WriteLine("                        SpeakerDescription");
                                Console.WriteLine("                            {0}", itemAttributes.SpeakerDescription);
                            }
                            List<String> specialFeaturesList  =  itemAttributes.SpecialFeatures;
                            foreach (String specialFeatures in specialFeaturesList) 
                            { 
                                Console.WriteLine("                        SpecialFeatures");
                                Console.WriteLine("                            {0}", specialFeatures);
                            }	
                            if (itemAttributes.IsSetStoneClarity()) 
                            {
                                Console.WriteLine("                        StoneClarity");
                                Console.WriteLine("                            {0}", itemAttributes.StoneClarity);
                            }
                            if (itemAttributes.IsSetStoneColor()) 
                            {
                                Console.WriteLine("                        StoneColor");
                                Console.WriteLine("                            {0}", itemAttributes.StoneColor);
                            }
                            if (itemAttributes.IsSetStoneCut()) 
                            {
                                Console.WriteLine("                        StoneCut");
                                Console.WriteLine("                            {0}", itemAttributes.StoneCut);
                            }
                            if (itemAttributes.IsSetStoneShape()) 
                            {
                                Console.WriteLine("                        StoneShape");
                                Console.WriteLine("                            {0}", itemAttributes.StoneShape);
                            }
                            if (itemAttributes.IsSetStoneWeight()) 
                            {
                                Console.WriteLine("                        StoneWeight");
                                DecimalWithUnits  stoneWeight = itemAttributes.StoneWeight;
                            } 
                            if (itemAttributes.IsSetStudio()) 
                            {
                                Console.WriteLine("                        Studio");
                                Console.WriteLine("                            {0}", itemAttributes.Studio);
                            }
                            if (itemAttributes.IsSetStyle()) 
                            {
                                Console.WriteLine("                        Style");
                                Console.WriteLine("                            {0}", itemAttributes.Style);
                            }
                            if (itemAttributes.IsSetSubscriptionLength()) 
                            {
                                Console.WriteLine("                        SubscriptionLength");
                                NonNegativeIntegerWithUnits  subscriptionLength = itemAttributes.SubscriptionLength;
                            } 
                            List<String> supportedImageTypeList  =  itemAttributes.SupportedImageType;
                            foreach (String supportedImageType in supportedImageTypeList) 
                            { 
                                Console.WriteLine("                        SupportedImageType");
                                Console.WriteLine("                            {0}", supportedImageType);
                            }	
                            if (itemAttributes.IsSetSupportedMediaSize()) 
                            {
                                Console.WriteLine("                        SupportedMediaSize");
                                Console.WriteLine("                            {0}", itemAttributes.SupportedMediaSize);
                            }
                            if (itemAttributes.IsSetSystemBusSpeed()) 
                            {
                                Console.WriteLine("                        SystemBusSpeed");
                                DecimalWithUnits  systemBusSpeed = itemAttributes.SystemBusSpeed;
                            } 
                            if (itemAttributes.IsSetSystemMemorySizeMax()) 
                            {
                                Console.WriteLine("                        SystemMemorySizeMax");
                                DecimalWithUnits  systemMemorySizeMax = itemAttributes.SystemMemorySizeMax;
                            } 
                            if (itemAttributes.IsSetSystemMemorySize()) 
                            {
                                Console.WriteLine("                        SystemMemorySize");
                                DecimalWithUnits  systemMemorySize = itemAttributes.SystemMemorySize;
                            } 
                            if (itemAttributes.IsSetSystemMemoryType()) 
                            {
                                Console.WriteLine("                        SystemMemoryType");
                                Console.WriteLine("                            {0}", itemAttributes.SystemMemoryType);
                            }
                            List<String> targetBrandList  =  itemAttributes.TargetBrand;
                            foreach (String targetBrand in targetBrandList) 
                            { 
                                Console.WriteLine("                        TargetBrand");
                                Console.WriteLine("                            {0}", targetBrand);
                            }	
                            if (itemAttributes.IsSetTellingPageIndicator()) 
                            {
                                Console.WriteLine("                        TellingPageIndicator");
                                Console.WriteLine("                            {0}", itemAttributes.TellingPageIndicator);
                            }
                            if (itemAttributes.IsSetTheatricalReleaseDate()) 
                            {
                                Console.WriteLine("                        TheatricalReleaseDate");
                                Console.WriteLine("                            {0}", itemAttributes.TheatricalReleaseDate);
                            }
                            if (itemAttributes.IsSetTitle()) 
                            {
                                Console.WriteLine("                        Title");
                                Console.WriteLine("                            {0}", itemAttributes.Title);
                            }
                            if (itemAttributes.IsSetTotalDiamondWeight()) 
                            {
                                Console.WriteLine("                        TotalDiamondWeight");
                                DecimalWithUnits  totalDiamondWeight = itemAttributes.TotalDiamondWeight;
                            } 
                            if (itemAttributes.IsSetTotalExternalBaysFree()) 
                            {
                                Console.WriteLine("                        TotalExternalBaysFree");
                                Console.WriteLine("                            {0}", itemAttributes.TotalExternalBaysFree);
                            }
                            if (itemAttributes.IsSetTotalFirewirePorts()) 
                            {
                                Console.WriteLine("                        TotalFirewirePorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalFirewirePorts);
                            }
                            if (itemAttributes.IsSetTotalGemWeight()) 
                            {
                                Console.WriteLine("                        TotalGemWeight");
                                DecimalWithUnits  totalGemWeight = itemAttributes.TotalGemWeight;
                            } 
                            if (itemAttributes.IsSetTotalInternalBaysFree()) 
                            {
                                Console.WriteLine("                        TotalInternalBaysFree");
                                Console.WriteLine("                            {0}", itemAttributes.TotalInternalBaysFree);
                            }
                            if (itemAttributes.IsSetTotalMetalWeight()) 
                            {
                                Console.WriteLine("                        TotalMetalWeight");
                                DecimalWithUnits  totalMetalWeight = itemAttributes.TotalMetalWeight;
                            } 
                            if (itemAttributes.IsSetTotalNTSCPALPorts()) 
                            {
                                Console.WriteLine("                        TotalNTSCPALPorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalNTSCPALPorts);
                            }
                            if (itemAttributes.IsSetTotalParallelPorts()) 
                            {
                                Console.WriteLine("                        TotalParallelPorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalParallelPorts);
                            }
                            if (itemAttributes.IsSetTotalPCCardSlots()) 
                            {
                                Console.WriteLine("                        TotalPCCardSlots");
                                Console.WriteLine("                            {0}", itemAttributes.TotalPCCardSlots);
                            }
                            if (itemAttributes.IsSetTotalPCISlotsFree()) 
                            {
                                Console.WriteLine("                        TotalPCISlotsFree");
                                Console.WriteLine("                            {0}", itemAttributes.TotalPCISlotsFree);
                            }
                            if (itemAttributes.IsSetTotalSerialPorts()) 
                            {
                                Console.WriteLine("                        TotalSerialPorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalSerialPorts);
                            }
                            if (itemAttributes.IsSetTotalSVideoOutPorts()) 
                            {
                                Console.WriteLine("                        TotalSVideoOutPorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalSVideoOutPorts);
                            }
                            if (itemAttributes.IsSetTotalUSB2Ports()) 
                            {
                                Console.WriteLine("                        TotalUSB2Ports");
                                Console.WriteLine("                            {0}", itemAttributes.TotalUSB2Ports);
                            }
                            if (itemAttributes.IsSetTotalUSBPorts()) 
                            {
                                Console.WriteLine("                        TotalUSBPorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalUSBPorts);
                            }
                            if (itemAttributes.IsSetTotalVGAOutPorts()) 
                            {
                                Console.WriteLine("                        TotalVGAOutPorts");
                                Console.WriteLine("                            {0}", itemAttributes.TotalVGAOutPorts);
                            }
                            if (itemAttributes.IsSetUPC()) 
                            {
                                Console.WriteLine("                        UPC");
                                Console.WriteLine("                            {0}", itemAttributes.UPC);
                            }
                            if (itemAttributes.IsSetVariationDenomination()) 
                            {
                                Console.WriteLine("                        VariationDenomination");
                                Console.WriteLine("                            {0}", itemAttributes.VariationDenomination);
                            }
                            if (itemAttributes.IsSetVariationDescription()) 
                            {
                                Console.WriteLine("                        VariationDescription");
                                Console.WriteLine("                            {0}", itemAttributes.VariationDescription);
                            }
                            if (itemAttributes.IsSetWarranty()) 
                            {
                                Console.WriteLine("                        Warranty");
                                Console.WriteLine("                            {0}", itemAttributes.Warranty);
                            }
                            if (itemAttributes.IsSetWatchMovementType()) 
                            {
                                Console.WriteLine("                        WatchMovementType");
                                Console.WriteLine("                            {0}", itemAttributes.WatchMovementType);
                            }
                            if (itemAttributes.IsSetWaterResistanceDepth()) 
                            {
                                Console.WriteLine("                        WaterResistanceDepth");
                                DecimalWithUnits  waterResistanceDepth = itemAttributes.WaterResistanceDepth;
                            } 
                            if (itemAttributes.IsSetWEEETaxValue()) 
                            {
                                Console.WriteLine("                        WEEETaxValue");
                                Price  WEEETaxValue = itemAttributes.WEEETaxValue;
                                if (WEEETaxValue.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", WEEETaxValue.Amount);
                                }
                                if (WEEETaxValue.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", WEEETaxValue.CurrencyCode);
                                }
                                if (WEEETaxValue.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", WEEETaxValue.FormattedPrice);
                                }
                            } 
                            if (itemAttributes.IsSetWirelessMicrophoneFrequency()) 
                            {
                                Console.WriteLine("                        WirelessMicrophoneFrequency");
                                Console.WriteLine("                            {0}", itemAttributes.WirelessMicrophoneFrequency);
                            }
                        } 
                        if (item.IsSetMerchantItemAttributes()) 
                        {
                            Console.WriteLine("                    MerchantItemAttributes");
                            MerchantItemAttributes  merchantItemAttributes = item.MerchantItemAttributes;
                            List<String> actorList  =  merchantItemAttributes.Actor;
                            foreach (String actor in actorList) 
                            { 
                                Console.WriteLine("                        Actor");
                                Console.WriteLine("                            {0}", actor);
                            }	
                            if (merchantItemAttributes.IsSetAddress()) 
                            {
                                Console.WriteLine("                        Address");
                                Address  address = merchantItemAttributes.Address;
                                if (address.IsSetName()) 
                                {
                                    Console.WriteLine("                            Name");
                                    Console.WriteLine("                                {0}", address.Name);
                                }
                                if (address.IsSetAddress1()) 
                                {
                                    Console.WriteLine("                            Address1");
                                    Console.WriteLine("                                {0}", address.Address1);
                                }
                                if (address.IsSetAddress2()) 
                                {
                                    Console.WriteLine("                            Address2");
                                    Console.WriteLine("                                {0}", address.Address2);
                                }
                                if (address.IsSetAddress3()) 
                                {
                                    Console.WriteLine("                            Address3");
                                    Console.WriteLine("                                {0}", address.Address3);
                                }
                                if (address.IsSetCity()) 
                                {
                                    Console.WriteLine("                            City");
                                    Console.WriteLine("                                {0}", address.City);
                                }
                                if (address.IsSetState()) 
                                {
                                    Console.WriteLine("                            State");
                                    Console.WriteLine("                                {0}", address.State);
                                }
                                if (address.IsSetPostalCode()) 
                                {
                                    Console.WriteLine("                            PostalCode");
                                    Console.WriteLine("                                {0}", address.PostalCode);
                                }
                                if (address.IsSetCountry()) 
                                {
                                    Console.WriteLine("                            Country");
                                    Console.WriteLine("                                {0}", address.Country);
                                }
                            } 
                            if (merchantItemAttributes.IsSetAmazonMaximumAge()) 
                            {
                                Console.WriteLine("                        AmazonMaximumAge");
                                DecimalWithUnits  amazonMaximumAge = merchantItemAttributes.AmazonMaximumAge;
                            } 
                            if (merchantItemAttributes.IsSetAmazonMinimumAge()) 
                            {
                                Console.WriteLine("                        AmazonMinimumAge");
                                DecimalWithUnits  amazonMinimumAge = merchantItemAttributes.AmazonMinimumAge;
                            } 
                            if (merchantItemAttributes.IsSetApertureModes()) 
                            {
                                Console.WriteLine("                        ApertureModes");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ApertureModes);
                            }
                            List<String> artistList  =  merchantItemAttributes.Artist;
                            foreach (String artist in artistList) 
                            { 
                                Console.WriteLine("                        Artist");
                                Console.WriteLine("                            {0}", artist);
                            }	
                            if (merchantItemAttributes.IsSetAspectRatio()) 
                            {
                                Console.WriteLine("                        AspectRatio");
                                Console.WriteLine("                            {0}", merchantItemAttributes.AspectRatio);
                            }
                            if (merchantItemAttributes.IsSetAssemblyInstructions()) 
                            {
                                Console.WriteLine("                        AssemblyInstructions");
                                Console.WriteLine("                            {0}", merchantItemAttributes.AssemblyInstructions);
                            }
                            if (merchantItemAttributes.IsSetAssemblyRequired()) 
                            {
                                Console.WriteLine("                        AssemblyRequired");
                                Console.WriteLine("                            {0}", merchantItemAttributes.AssemblyRequired);
                            }
                            if (merchantItemAttributes.IsSetAudienceRating()) 
                            {
                                Console.WriteLine("                        AudienceRating");
                                Console.WriteLine("                            {0}", merchantItemAttributes.AudienceRating);
                            }
                            List<String> audioFormatList  =  merchantItemAttributes.AudioFormat;
                            foreach (String audioFormat in audioFormatList) 
                            { 
                                Console.WriteLine("                        AudioFormat");
                                Console.WriteLine("                            {0}", audioFormat);
                            }	
                            List<String> authorList  =  merchantItemAttributes.Author;
                            foreach (String author in authorList) 
                            { 
                                Console.WriteLine("                        Author");
                                Console.WriteLine("                            {0}", author);
                            }	
                            if (merchantItemAttributes.IsSetBackFinding()) 
                            {
                                Console.WriteLine("                        BackFinding");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BackFinding);
                            }
                            if (merchantItemAttributes.IsSetBandMaterialType()) 
                            {
                                Console.WriteLine("                        BandMaterialType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BandMaterialType);
                            }
                            if (merchantItemAttributes.IsSetBatteriesIncluded()) 
                            {
                                Console.WriteLine("                        BatteriesIncluded");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BatteriesIncluded);
                            }
                            if (merchantItemAttributes.IsSetBatteriesRequired()) 
                            {
                                Console.WriteLine("                        BatteriesRequired");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BatteriesRequired);
                            }
                            if (merchantItemAttributes.IsSetBatteries()) 
                            {
                                Console.WriteLine("                        Batteries");
                                NonNegativeIntegerWithUnits  batteries = merchantItemAttributes.Batteries;
                            } 
                            if (merchantItemAttributes.IsSetBatteryDescription()) 
                            {
                                Console.WriteLine("                        BatteryDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BatteryDescription);
                            }
                            if (merchantItemAttributes.IsSetBatteryType()) 
                            {
                                Console.WriteLine("                        BatteryType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BatteryType);
                            }
                            if (merchantItemAttributes.IsSetBezelMaterialType()) 
                            {
                                Console.WriteLine("                        BezelMaterialType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.BezelMaterialType);
                            }
                            if (merchantItemAttributes.IsSetBinding()) 
                            {
                                Console.WriteLine("                        Binding");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Binding);
                            }
                            if (merchantItemAttributes.IsSetBrand()) 
                            {
                                Console.WriteLine("                        Brand");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Brand);
                            }
                            if (merchantItemAttributes.IsSetCalendarType()) 
                            {
                                Console.WriteLine("                        CalendarType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CalendarType);
                            }
                            List<String> cameraManualFeaturesList  =  merchantItemAttributes.CameraManualFeatures;
                            foreach (String cameraManualFeatures in cameraManualFeaturesList) 
                            { 
                                Console.WriteLine("                        CameraManualFeatures");
                                Console.WriteLine("                            {0}", cameraManualFeatures);
                            }	
                            if (merchantItemAttributes.IsSetCaseDiameter()) 
                            {
                                Console.WriteLine("                        CaseDiameter");
                                DecimalWithUnits  caseDiameter = merchantItemAttributes.CaseDiameter;
                            } 
                            if (merchantItemAttributes.IsSetCaseMaterialType()) 
                            {
                                Console.WriteLine("                        CaseMaterialType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CaseMaterialType);
                            }
                            if (merchantItemAttributes.IsSetCaseThickness()) 
                            {
                                Console.WriteLine("                        CaseThickness");
                                DecimalWithUnits  caseThickness = merchantItemAttributes.CaseThickness;
                            } 
                            if (merchantItemAttributes.IsSetCaseType()) 
                            {
                                Console.WriteLine("                        CaseType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CaseType);
                            }
                            if (merchantItemAttributes.IsSetCatalogNumber()) 
                            {
                                Console.WriteLine("                        CatalogNumber");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CatalogNumber);
                            }
                            if (merchantItemAttributes.IsSetCDRWDescription()) 
                            {
                                Console.WriteLine("                        CDRWDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CDRWDescription);
                            }
                            if (merchantItemAttributes.IsSetChainType()) 
                            {
                                Console.WriteLine("                        ChainType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ChainType);
                            }
                            if (merchantItemAttributes.IsSetClaspType()) 
                            {
                                Console.WriteLine("                        ClaspType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ClaspType);
                            }
                            if (merchantItemAttributes.IsSetClothingSize()) 
                            {
                                Console.WriteLine("                        ClothingSize");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ClothingSize);
                            }
                            if (merchantItemAttributes.IsSetColor()) 
                            {
                                Console.WriteLine("                        Color");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Color);
                            }
                            if (merchantItemAttributes.IsSetCompatibility()) 
                            {
                                Console.WriteLine("                        Compatibility");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Compatibility);
                            }
                            if (merchantItemAttributes.IsSetComputerHardwareType()) 
                            {
                                Console.WriteLine("                        ComputerHardwareType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ComputerHardwareType);
                            }
                            if (merchantItemAttributes.IsSetComputerPlatform()) 
                            {
                                Console.WriteLine("                        ComputerPlatform");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ComputerPlatform);
                            }
                            if (merchantItemAttributes.IsSetConnectivity()) 
                            {
                                Console.WriteLine("                        Connectivity");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Connectivity);
                            }
                            if (merchantItemAttributes.IsSetContinuousShootingSpeed()) 
                            {
                                Console.WriteLine("                        ContinuousShootingSpeed");
                                DecimalWithUnits  continuousShootingSpeed = merchantItemAttributes.ContinuousShootingSpeed;
                            } 
                            if (merchantItemAttributes.IsSetCountry()) 
                            {
                                Console.WriteLine("                        Country");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Country);
                            }
                            if (merchantItemAttributes.IsSetCountryOfOrigin()) 
                            {
                                Console.WriteLine("                        CountryOfOrigin");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CountryOfOrigin);
                            }
                            if (merchantItemAttributes.IsSetCPUManufacturer()) 
                            {
                                Console.WriteLine("                        CPUManufacturer");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CPUManufacturer);
                            }
                            if (merchantItemAttributes.IsSetCPUSpeed()) 
                            {
                                Console.WriteLine("                        CPUSpeed");
                                DecimalWithUnits  CPUSpeed = merchantItemAttributes.CPUSpeed;
                            } 
                            if (merchantItemAttributes.IsSetCPUType()) 
                            {
                                Console.WriteLine("                        CPUType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.CPUType);
                            }
                            List<Creator> creatorList = merchantItemAttributes.Creator;
                            foreach (Creator creator in creatorList) 
                            {
                                Console.WriteLine("                        Creator");
                            }
                            if (merchantItemAttributes.IsSetCuisine()) 
                            {
                                Console.WriteLine("                        Cuisine");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Cuisine);
                            }
                            if (merchantItemAttributes.IsSetCustomizable()) 
                            {
                                Console.WriteLine("                        Customizable");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Customizable);
                            }
                            if (merchantItemAttributes.IsSetDelayBetweenShots()) 
                            {
                                Console.WriteLine("                        DelayBetweenShots");
                                DecimalWithUnits  delayBetweenShots = merchantItemAttributes.DelayBetweenShots;
                            } 
                            if (merchantItemAttributes.IsSetDeliveryOption()) 
                            {
                                Console.WriteLine("                        DeliveryOption");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DeliveryOption);
                            }
                            if (merchantItemAttributes.IsSetDepartment()) 
                            {
                                Console.WriteLine("                        Department");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Department);
                            }
                            if (merchantItemAttributes.IsSetDescription()) 
                            {
                                Console.WriteLine("                        Description");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Description);
                            }
                            if (merchantItemAttributes.IsSetDeweyDecimalNumber()) 
                            {
                                Console.WriteLine("                        DeweyDecimalNumber");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DeweyDecimalNumber);
                            }
                            if (merchantItemAttributes.IsSetDialColor()) 
                            {
                                Console.WriteLine("                        DialColor");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DialColor);
                            }
                            if (merchantItemAttributes.IsSetDialWindowMaterialType()) 
                            {
                                Console.WriteLine("                        DialWindowMaterialType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DialWindowMaterialType);
                            }
                            if (merchantItemAttributes.IsSetDigitalZoom()) 
                            {
                                Console.WriteLine("                        DigitalZoom");
                                DecimalWithUnits  digitalZoom = merchantItemAttributes.DigitalZoom;
                            } 
                            List<String> directorList  =  merchantItemAttributes.Director;
                            foreach (String director in directorList) 
                            { 
                                Console.WriteLine("                        Director");
                                Console.WriteLine("                            {0}", director);
                            }	
                            if (merchantItemAttributes.IsSetDisplaySize()) 
                            {
                                Console.WriteLine("                        DisplaySize");
                                DecimalWithUnits  displaySize = merchantItemAttributes.DisplaySize;
                            } 
                            if (merchantItemAttributes.IsSetDrumSetPieceQuantity()) 
                            {
                                Console.WriteLine("                        DrumSetPieceQuantity");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DrumSetPieceQuantity);
                            }
                            if (merchantItemAttributes.IsSetDVDLayers()) 
                            {
                                Console.WriteLine("                        DVDLayers");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DVDLayers);
                            }
                            if (merchantItemAttributes.IsSetDVDRWDescription()) 
                            {
                                Console.WriteLine("                        DVDRWDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DVDRWDescription);
                            }
                            if (merchantItemAttributes.IsSetDVDSides()) 
                            {
                                Console.WriteLine("                        DVDSides");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DVDSides);
                            }
                            if (merchantItemAttributes.IsSetDPCI()) 
                            {
                                Console.WriteLine("                        DPCI");
                                Console.WriteLine("                            {0}", merchantItemAttributes.DPCI);
                            }
                            if (merchantItemAttributes.IsSetEAN()) 
                            {
                                Console.WriteLine("                        EAN");
                                Console.WriteLine("                            {0}", merchantItemAttributes.EAN);
                            }
                            if (merchantItemAttributes.IsSetEdition()) 
                            {
                                Console.WriteLine("                        Edition");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Edition);
                            }
                            if (merchantItemAttributes.IsSetESRBAgeRating()) 
                            {
                                Console.WriteLine("                        ESRBAgeRating");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ESRBAgeRating);
                            }
                            if (merchantItemAttributes.IsSetExternalDisplaySupportDescription()) 
                            {
                                Console.WriteLine("                        ExternalDisplaySupportDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ExternalDisplaySupportDescription);
                            }
                            if (merchantItemAttributes.IsSetFabricType()) 
                            {
                                Console.WriteLine("                        FabricType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.FabricType);
                            }
                            if (merchantItemAttributes.IsSetFaxNumber()) 
                            {
                                Console.WriteLine("                        FaxNumber");
                                Console.WriteLine("                            {0}", merchantItemAttributes.FaxNumber);
                            }
                            List<String> featureList  =  merchantItemAttributes.Feature;
                            foreach (String feature in featureList) 
                            { 
                                Console.WriteLine("                        Feature");
                                Console.WriteLine("                            {0}", feature);
                            }	
                            if (merchantItemAttributes.IsSetFirstIssueLeadTime()) 
                            {
                                Console.WriteLine("                        FirstIssueLeadTime");
                                StringWithUnits  firstIssueLeadTime = merchantItemAttributes.FirstIssueLeadTime;
                            } 
                            if (merchantItemAttributes.IsSetFloppyDiskDriveDescription()) 
                            {
                                Console.WriteLine("                        FloppyDiskDriveDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.FloppyDiskDriveDescription);
                            }
                            List<String> formatList  =  merchantItemAttributes.Format;
                            foreach (String format in formatList) 
                            { 
                                Console.WriteLine("                        Format");
                                Console.WriteLine("                            {0}", format);
                            }	
                            if (merchantItemAttributes.IsSetFixedShippingCharge()) 
                            {
                                Console.WriteLine("                        FixedShippingCharge");
                                Price  fixedShippingCharge = merchantItemAttributes.FixedShippingCharge;
                                if (fixedShippingCharge.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", fixedShippingCharge.Amount);
                                }
                                if (fixedShippingCharge.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", fixedShippingCharge.CurrencyCode);
                                }
                                if (fixedShippingCharge.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", fixedShippingCharge.FormattedPrice);
                                }
                            } 
                            if (merchantItemAttributes.IsSetGemType()) 
                            {
                                Console.WriteLine("                        GemType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GemType);
                            }
                            if (merchantItemAttributes.IsSetGraphicsCardInterface()) 
                            {
                                Console.WriteLine("                        GraphicsCardInterface");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GraphicsCardInterface);
                            }
                            if (merchantItemAttributes.IsSetGraphicsDescription()) 
                            {
                                Console.WriteLine("                        GraphicsDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GraphicsDescription);
                            }
                            if (merchantItemAttributes.IsSetGraphicsMemorySize()) 
                            {
                                Console.WriteLine("                        GraphicsMemorySize");
                                DecimalWithUnits  graphicsMemorySize = merchantItemAttributes.GraphicsMemorySize;
                            } 
                            if (merchantItemAttributes.IsSetGuitarAttribute()) 
                            {
                                Console.WriteLine("                        GuitarAttribute");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GuitarAttribute);
                            }
                            if (merchantItemAttributes.IsSetGuitarBridgeSystem()) 
                            {
                                Console.WriteLine("                        GuitarBridgeSystem");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GuitarBridgeSystem);
                            }
                            if (merchantItemAttributes.IsSetGuitarPickThickness()) 
                            {
                                Console.WriteLine("                        GuitarPickThickness");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GuitarPickThickness);
                            }
                            if (merchantItemAttributes.IsSetGuitarPickupConfiguration()) 
                            {
                                Console.WriteLine("                        GuitarPickupConfiguration");
                                Console.WriteLine("                            {0}", merchantItemAttributes.GuitarPickupConfiguration);
                            }
                            if (merchantItemAttributes.IsSetHardDiskCount()) 
                            {
                                Console.WriteLine("                        HardDiskCount");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HardDiskCount);
                            }
                            if (merchantItemAttributes.IsSetHardDiskSize()) 
                            {
                                Console.WriteLine("                        HardDiskSize");
                                NonNegativeIntegerWithUnits  hardDiskSize = merchantItemAttributes.HardDiskSize;
                            } 
                            if (merchantItemAttributes.IsSetHasAutoFocus()) 
                            {
                                Console.WriteLine("                        HasAutoFocus");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasAutoFocus);
                            }
                            if (merchantItemAttributes.IsSetHasBurstMode()) 
                            {
                                Console.WriteLine("                        HasBurstMode");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasBurstMode);
                            }
                            if (merchantItemAttributes.IsSetHasInCameraEditing()) 
                            {
                                Console.WriteLine("                        HasInCameraEditing");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasInCameraEditing);
                            }
                            if (merchantItemAttributes.IsSetHasRedEyeReduction()) 
                            {
                                Console.WriteLine("                        HasRedEyeReduction");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasRedEyeReduction);
                            }
                            if (merchantItemAttributes.IsSetHasSelfTimer()) 
                            {
                                Console.WriteLine("                        HasSelfTimer");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasSelfTimer);
                            }
                            if (merchantItemAttributes.IsSetHasTripodMount()) 
                            {
                                Console.WriteLine("                        HasTripodMount");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasTripodMount);
                            }
                            if (merchantItemAttributes.IsSetHasVideoOut()) 
                            {
                                Console.WriteLine("                        HasVideoOut");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasVideoOut);
                            }
                            if (merchantItemAttributes.IsSetHasViewfinder()) 
                            {
                                Console.WriteLine("                        HasViewfinder");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HasViewfinder);
                            }
                            if (merchantItemAttributes.IsSetHazardousMaterialType()) 
                            {
                                Console.WriteLine("                        HazardousMaterialType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HazardousMaterialType);
                            }
                            if (merchantItemAttributes.IsSetHoursOfOperation()) 
                            {
                                Console.WriteLine("                        HoursOfOperation");
                                Console.WriteLine("                            {0}", merchantItemAttributes.HoursOfOperation);
                            }
                            if (merchantItemAttributes.IsSetIncludedSoftware()) 
                            {
                                Console.WriteLine("                        IncludedSoftware");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IncludedSoftware);
                            }
                            if (merchantItemAttributes.IsSetIncludesMp3Player()) 
                            {
                                Console.WriteLine("                        IncludesMp3Player");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IncludesMp3Player);
                            }
                            if (merchantItemAttributes.IsSetIndications()) 
                            {
                                Console.WriteLine("                        Indications");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Indications);
                            }
                            if (merchantItemAttributes.IsSetIngredients()) 
                            {
                                Console.WriteLine("                        Ingredients");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Ingredients);
                            }
                            if (merchantItemAttributes.IsSetInstrumentKey()) 
                            {
                                Console.WriteLine("                        InstrumentKey");
                                Console.WriteLine("                            {0}", merchantItemAttributes.InstrumentKey);
                            }
                            if (merchantItemAttributes.IsSetIsAutographed()) 
                            {
                                Console.WriteLine("                        IsAutographed");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IsAutographed);
                            }
                            if (merchantItemAttributes.IsSetISBN()) 
                            {
                                Console.WriteLine("                        ISBN");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ISBN);
                            }
                            if (merchantItemAttributes.IsSetIsFragile()) 
                            {
                                Console.WriteLine("                        IsFragile");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IsFragile);
                            }
                            if (merchantItemAttributes.IsSetIsLabCreated()) 
                            {
                                Console.WriteLine("                        IsLabCreated");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IsLabCreated);
                            }
                            if (merchantItemAttributes.IsSetIsMemorabilia()) 
                            {
                                Console.WriteLine("                        IsMemorabilia");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IsMemorabilia);
                            }
                            if (merchantItemAttributes.IsSetISOEquivalent()) 
                            {
                                Console.WriteLine("                        ISOEquivalent");
                                NonNegativeIntegerWithUnits  ISOEquivalent = merchantItemAttributes.ISOEquivalent;
                            } 
                            if (merchantItemAttributes.IsSetIssuesPerYear()) 
                            {
                                Console.WriteLine("                        IssuesPerYear");
                                Console.WriteLine("                            {0}", merchantItemAttributes.IssuesPerYear);
                            }
                            if (merchantItemAttributes.IsSetItemDimensions()) 
                            {
                                Console.WriteLine("                        ItemDimensions");
                                ItemDimensions  itemDimensions = merchantItemAttributes.ItemDimensions;
                                if (itemDimensions.IsSetHeight()) 
                                {
                                    Console.WriteLine("                            Height");
                                    DecimalWithUnits  height = itemDimensions.Height;
                                } 
                                if (itemDimensions.IsSetLength()) 
                                {
                                    Console.WriteLine("                            Length");
                                    DecimalWithUnits  length = itemDimensions.Length;
                                } 
                                if (itemDimensions.IsSetWeight()) 
                                {
                                    Console.WriteLine("                            Weight");
                                    DecimalWithUnits  weight = itemDimensions.Weight;
                                } 
                                if (itemDimensions.IsSetWidth()) 
                                {
                                    Console.WriteLine("                            Width");
                                    DecimalWithUnits  width = itemDimensions.Width;
                                } 
                            } 
                            if (merchantItemAttributes.IsSetKeyboardDescription()) 
                            {
                                Console.WriteLine("                        KeyboardDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.KeyboardDescription);
                            }
                            if (merchantItemAttributes.IsSetLabel()) 
                            {
                                Console.WriteLine("                        Label");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Label);
                            }
                            if (merchantItemAttributes.IsSetLanguages()) 
                            {
                                Console.WriteLine("                        Languages");
                                Languages  languages = merchantItemAttributes.Languages;
                                List<Language> languageList = languages.Language;
                                foreach (Language language in languageList) 
                                {
                                    Console.WriteLine("                            Language");
                                    if (language.IsSetName()) 
                                    {
                                        Console.WriteLine("                                Name");
                                        Console.WriteLine("                                    {0}", language.Name);
                                    }
                                    if (language.IsSetType()) 
                                    {
                                        Console.WriteLine("                                Type");
                                        Console.WriteLine("                                    {0}", language.Type);
                                    }
                                    if (language.IsSetAudioFormat()) 
                                    {
                                        Console.WriteLine("                                AudioFormat");
                                        Console.WriteLine("                                    {0}", language.AudioFormat);
                                    }
                                }
                            } 
                            if (merchantItemAttributes.IsSetLegalDisclaimer()) 
                            {
                                Console.WriteLine("                        LegalDisclaimer");
                                Console.WriteLine("                            {0}", merchantItemAttributes.LegalDisclaimer);
                            }
                            if (merchantItemAttributes.IsSetLineVoltage()) 
                            {
                                Console.WriteLine("                        LineVoltage");
                                Console.WriteLine("                            {0}", merchantItemAttributes.LineVoltage);
                            }
                            if (merchantItemAttributes.IsSetListPrice()) 
                            {
                                Console.WriteLine("                        ListPrice");
                                Price  listPrice = merchantItemAttributes.ListPrice;
                                if (listPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", listPrice.Amount);
                                }
                                if (listPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", listPrice.CurrencyCode);
                                }
                                if (listPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", listPrice.FormattedPrice);
                                }
                            } 
                            if (merchantItemAttributes.IsSetMacroFocusRange()) 
                            {
                                Console.WriteLine("                        MacroFocusRange");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MacroFocusRange);
                            }
                            if (merchantItemAttributes.IsSetMagazineType()) 
                            {
                                Console.WriteLine("                        MagazineType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MagazineType);
                            }
                            if (merchantItemAttributes.IsSetMalletHardness()) 
                            {
                                Console.WriteLine("                        MalletHardness");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MalletHardness);
                            }
                            if (merchantItemAttributes.IsSetManufacturer()) 
                            {
                                Console.WriteLine("                        Manufacturer");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Manufacturer);
                            }
                            if (merchantItemAttributes.IsSetManufacturerLaborWarrantyDescription()) 
                            {
                                Console.WriteLine("                        ManufacturerLaborWarrantyDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ManufacturerLaborWarrantyDescription);
                            }
                            if (merchantItemAttributes.IsSetManufacturerMaximumAge()) 
                            {
                                Console.WriteLine("                        ManufacturerMaximumAge");
                                DecimalWithUnits  manufacturerMaximumAge = merchantItemAttributes.ManufacturerMaximumAge;
                            } 
                            if (merchantItemAttributes.IsSetManufacturerMinimumAge()) 
                            {
                                Console.WriteLine("                        ManufacturerMinimumAge");
                                DecimalWithUnits  manufacturerMinimumAge = merchantItemAttributes.ManufacturerMinimumAge;
                            } 
                            if (merchantItemAttributes.IsSetManufacturerPartsWarrantyDescription()) 
                            {
                                Console.WriteLine("                        ManufacturerPartsWarrantyDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ManufacturerPartsWarrantyDescription);
                            }
                            if (merchantItemAttributes.IsSetMaterialType()) 
                            {
                                Console.WriteLine("                        MaterialType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MaterialType);
                            }
                            if (merchantItemAttributes.IsSetMaximumAperture()) 
                            {
                                Console.WriteLine("                        MaximumAperture");
                                DecimalWithUnits  maximumAperture = merchantItemAttributes.MaximumAperture;
                            } 
                            if (merchantItemAttributes.IsSetMaximumColorDepth()) 
                            {
                                Console.WriteLine("                        MaximumColorDepth");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MaximumColorDepth);
                            }
                            if (merchantItemAttributes.IsSetMaximumFocalLength()) 
                            {
                                Console.WriteLine("                        MaximumFocalLength");
                                DecimalWithUnits  maximumFocalLength = merchantItemAttributes.MaximumFocalLength;
                            } 
                            if (merchantItemAttributes.IsSetMaximumHighResolutionImages()) 
                            {
                                Console.WriteLine("                        MaximumHighResolutionImages");
                                NonNegativeIntegerWithUnits  maximumHighResolutionImages = merchantItemAttributes.MaximumHighResolutionImages;
                            } 
                            if (merchantItemAttributes.IsSetMaximumHorizontalResolution()) 
                            {
                                Console.WriteLine("                        MaximumHorizontalResolution");
                                NonNegativeIntegerWithUnits  maximumHorizontalResolution = merchantItemAttributes.MaximumHorizontalResolution;
                            } 
                            if (merchantItemAttributes.IsSetMaximumLowResolutionImages()) 
                            {
                                Console.WriteLine("                        MaximumLowResolutionImages");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MaximumLowResolutionImages);
                            }
                            if (merchantItemAttributes.IsSetMaximumResolution()) 
                            {
                                Console.WriteLine("                        MaximumResolution");
                                DecimalWithUnits  maximumResolution = merchantItemAttributes.MaximumResolution;
                            } 
                            if (merchantItemAttributes.IsSetMaximumShutterSpeed()) 
                            {
                                Console.WriteLine("                        MaximumShutterSpeed");
                                DecimalWithUnits  maximumShutterSpeed = merchantItemAttributes.MaximumShutterSpeed;
                            } 
                            if (merchantItemAttributes.IsSetMaximumVerticalResolution()) 
                            {
                                Console.WriteLine("                        MaximumVerticalResolution");
                                NonNegativeIntegerWithUnits  maximumVerticalResolution = merchantItemAttributes.MaximumVerticalResolution;
                            } 
                            if (merchantItemAttributes.IsSetMaximumWeightRecommendation()) 
                            {
                                Console.WriteLine("                        MaximumWeightRecommendation");
                                DecimalWithUnits  maximumWeightRecommendation = merchantItemAttributes.MaximumWeightRecommendation;
                            } 
                            if (merchantItemAttributes.IsSetMemorySlotsAvailable()) 
                            {
                                Console.WriteLine("                        MemorySlotsAvailable");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MemorySlotsAvailable);
                            }
                            if (merchantItemAttributes.IsSetMetalStamp()) 
                            {
                                Console.WriteLine("                        MetalStamp");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MetalStamp);
                            }
                            if (merchantItemAttributes.IsSetMetalType()) 
                            {
                                Console.WriteLine("                        MetalType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MetalType);
                            }
                            if (merchantItemAttributes.IsSetMiniMovieDescription()) 
                            {
                                Console.WriteLine("                        MiniMovieDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MiniMovieDescription);
                            }
                            if (merchantItemAttributes.IsSetMinimumFocalLength()) 
                            {
                                Console.WriteLine("                        MinimumFocalLength");
                                DecimalWithUnits  minimumFocalLength = merchantItemAttributes.MinimumFocalLength;
                            } 
                            if (merchantItemAttributes.IsSetMinimumShutterSpeed()) 
                            {
                                Console.WriteLine("                        MinimumShutterSpeed");
                                DecimalWithUnits  minimumShutterSpeed = merchantItemAttributes.MinimumShutterSpeed;
                            } 
                            if (merchantItemAttributes.IsSetModel()) 
                            {
                                Console.WriteLine("                        Model");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Model);
                            }
                            if (merchantItemAttributes.IsSetModelYear()) 
                            {
                                Console.WriteLine("                        ModelYear");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ModelYear);
                            }
                            if (merchantItemAttributes.IsSetModemDescription()) 
                            {
                                Console.WriteLine("                        ModemDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ModemDescription);
                            }
                            if (merchantItemAttributes.IsSetMonitorSize()) 
                            {
                                Console.WriteLine("                        MonitorSize");
                                DecimalWithUnits  monitorSize = merchantItemAttributes.MonitorSize;
                            } 
                            if (merchantItemAttributes.IsSetMonitorViewableDiagonalSize()) 
                            {
                                Console.WriteLine("                        MonitorViewableDiagonalSize");
                                DecimalWithUnits  monitorViewableDiagonalSize = merchantItemAttributes.MonitorViewableDiagonalSize;
                            } 
                            if (merchantItemAttributes.IsSetMouseDescription()) 
                            {
                                Console.WriteLine("                        MouseDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MouseDescription);
                            }
                            if (merchantItemAttributes.IsSetMPN()) 
                            {
                                Console.WriteLine("                        MPN");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MPN);
                            }
                            if (merchantItemAttributes.IsSetMusicalStyle()) 
                            {
                                Console.WriteLine("                        MusicalStyle");
                                Console.WriteLine("                            {0}", merchantItemAttributes.MusicalStyle);
                            }
                            if (merchantItemAttributes.IsSetNativeResolution()) 
                            {
                                Console.WriteLine("                        NativeResolution");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NativeResolution);
                            }
                            if (merchantItemAttributes.IsSetNeighborhood()) 
                            {
                                Console.WriteLine("                        Neighborhood");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Neighborhood);
                            }
                            if (merchantItemAttributes.IsSetNetworkInterfaceDescription()) 
                            {
                                Console.WriteLine("                        NetworkInterfaceDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NetworkInterfaceDescription);
                            }
                            if (merchantItemAttributes.IsSetNotebookDisplayTechnology()) 
                            {
                                Console.WriteLine("                        NotebookDisplayTechnology");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NotebookDisplayTechnology);
                            }
                            if (merchantItemAttributes.IsSetNotebookPointingDeviceDescription()) 
                            {
                                Console.WriteLine("                        NotebookPointingDeviceDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NotebookPointingDeviceDescription);
                            }
                            if (merchantItemAttributes.IsSetNumberOfDiscs()) 
                            {
                                Console.WriteLine("                        NumberOfDiscs");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfDiscs);
                            }
                            if (merchantItemAttributes.IsSetNumberOfIssues()) 
                            {
                                Console.WriteLine("                        NumberOfIssues");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfIssues);
                            }
                            if (merchantItemAttributes.IsSetNumberOfItems()) 
                            {
                                Console.WriteLine("                        NumberOfItems");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfItems);
                            }
                            if (merchantItemAttributes.IsSetNumberOfKeys()) 
                            {
                                Console.WriteLine("                        NumberOfKeys");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfKeys);
                            }
                            if (merchantItemAttributes.IsSetNumberOfPages()) 
                            {
                                Console.WriteLine("                        NumberOfPages");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfPages);
                            }
                            if (merchantItemAttributes.IsSetNumberOfPearls()) 
                            {
                                Console.WriteLine("                        NumberOfPearls");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfPearls);
                            }
                            if (merchantItemAttributes.IsSetNumberOfRapidFireShots()) 
                            {
                                Console.WriteLine("                        NumberOfRapidFireShots");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfRapidFireShots);
                            }
                            if (merchantItemAttributes.IsSetNumberOfStones()) 
                            {
                                Console.WriteLine("                        NumberOfStones");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfStones);
                            }
                            if (merchantItemAttributes.IsSetNumberOfStrings()) 
                            {
                                Console.WriteLine("                        NumberOfStrings");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfStrings);
                            }
                            if (merchantItemAttributes.IsSetNumberOfTracks()) 
                            {
                                Console.WriteLine("                        NumberOfTracks");
                                Console.WriteLine("                            {0}", merchantItemAttributes.NumberOfTracks);
                            }
                            if (merchantItemAttributes.IsSetOpticalZoom()) 
                            {
                                Console.WriteLine("                        OpticalZoom");
                                DecimalWithUnits  opticalZoom = merchantItemAttributes.OpticalZoom;
                            } 
                            if (merchantItemAttributes.IsSetOriginalReleaseDate()) 
                            {
                                Console.WriteLine("                        OriginalReleaseDate");
                                Console.WriteLine("                            {0}", merchantItemAttributes.OriginalReleaseDate);
                            }
                            if (merchantItemAttributes.IsSetOutputWattage()) 
                            {
                                Console.WriteLine("                        OutputWattage");
                                Console.WriteLine("                            {0}", merchantItemAttributes.OutputWattage);
                            }
                            if (merchantItemAttributes.IsSetPackageDimensions()) 
                            {
                                Console.WriteLine("                        PackageDimensions");
                                PackageDimensions  packageDimensions = merchantItemAttributes.PackageDimensions;
                                if (packageDimensions.IsSetHeight()) 
                                {
                                    Console.WriteLine("                            Height");
                                    DecimalWithUnits  height = packageDimensions.Height;
                                } 
                                if (packageDimensions.IsSetLength()) 
                                {
                                    Console.WriteLine("                            Length");
                                    DecimalWithUnits  length = packageDimensions.Length;
                                } 
                                if (packageDimensions.IsSetWeight()) 
                                {
                                    Console.WriteLine("                            Weight");
                                    DecimalWithUnits  weight = packageDimensions.Weight;
                                } 
                                if (packageDimensions.IsSetWidth()) 
                                {
                                    Console.WriteLine("                            Width");
                                    DecimalWithUnits  width = packageDimensions.Width;
                                } 
                            } 
                            if (merchantItemAttributes.IsSetPearlLustre()) 
                            {
                                Console.WriteLine("                        PearlLustre");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlLustre);
                            }
                            if (merchantItemAttributes.IsSetPearlMinimumColor()) 
                            {
                                Console.WriteLine("                        PearlMinimumColor");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlMinimumColor);
                            }
                            if (merchantItemAttributes.IsSetPearlShape()) 
                            {
                                Console.WriteLine("                        PearlShape");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlShape);
                            }
                            if (merchantItemAttributes.IsSetPearlStringingMethod()) 
                            {
                                Console.WriteLine("                        PearlStringingMethod");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlStringingMethod);
                            }
                            if (merchantItemAttributes.IsSetPearlSurfaceBlemishes()) 
                            {
                                Console.WriteLine("                        PearlSurfaceBlemishes");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlSurfaceBlemishes);
                            }
                            if (merchantItemAttributes.IsSetPearlType()) 
                            {
                                Console.WriteLine("                        PearlType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlType);
                            }
                            if (merchantItemAttributes.IsSetPearlUniformity()) 
                            {
                                Console.WriteLine("                        PearlUniformity");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PearlUniformity);
                            }
                            if (merchantItemAttributes.IsSetPhoneNumber()) 
                            {
                                Console.WriteLine("                        PhoneNumber");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PhoneNumber);
                            }
                            List<String> photoFlashTypeList  =  merchantItemAttributes.PhotoFlashType;
                            foreach (String photoFlashType in photoFlashTypeList) 
                            { 
                                Console.WriteLine("                        PhotoFlashType");
                                Console.WriteLine("                            {0}", photoFlashType);
                            }	
                            List<String> pictureFormatList  =  merchantItemAttributes.PictureFormat;
                            foreach (String pictureFormat in pictureFormatList) 
                            { 
                                Console.WriteLine("                        PictureFormat");
                                Console.WriteLine("                            {0}", pictureFormat);
                            }	
                            List<String> platformList  =  merchantItemAttributes.Platform;
                            foreach (String platform in platformList) 
                            { 
                                Console.WriteLine("                        Platform");
                                Console.WriteLine("                            {0}", platform);
                            }	
                            if (merchantItemAttributes.IsSetPriceRating()) 
                            {
                                Console.WriteLine("                        PriceRating");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PriceRating);
                            }
                            if (merchantItemAttributes.IsSetProcessorCount()) 
                            {
                                Console.WriteLine("                        ProcessorCount");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ProcessorCount);
                            }
                            if (merchantItemAttributes.IsSetProductGroup()) 
                            {
                                Console.WriteLine("                        ProductGroup");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ProductGroup);
                            }
                            if (merchantItemAttributes.IsSetPromotionalTag()) 
                            {
                                Console.WriteLine("                        PromotionalTag");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PromotionalTag);
                            }
                            if (merchantItemAttributes.IsSetPOBoxShippingExcluded()) 
                            {
                                Console.WriteLine("                        POBoxShippingExcluded");
                                Console.WriteLine("                            {0}", merchantItemAttributes.POBoxShippingExcluded);
                            }
                            if (merchantItemAttributes.IsSetPublicationDate()) 
                            {
                                Console.WriteLine("                        PublicationDate");
                                Console.WriteLine("                            {0}", merchantItemAttributes.PublicationDate);
                            }
                            if (merchantItemAttributes.IsSetPublisher()) 
                            {
                                Console.WriteLine("                        Publisher");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Publisher);
                            }
                            List<String> purchasingChannelList  =  merchantItemAttributes.PurchasingChannel;
                            foreach (String purchasingChannel in purchasingChannelList) 
                            { 
                                Console.WriteLine("                        PurchasingChannel");
                                Console.WriteLine("                            {0}", purchasingChannel);
                            }	
                            if (merchantItemAttributes.IsSetReadingLevel()) 
                            {
                                Console.WriteLine("                        ReadingLevel");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ReadingLevel);
                            }
                            if (merchantItemAttributes.IsSetRecorderTrackCount()) 
                            {
                                Console.WriteLine("                        RecorderTrackCount");
                                Console.WriteLine("                            {0}", merchantItemAttributes.RecorderTrackCount);
                            }
                            if (merchantItemAttributes.IsSetRegionCode()) 
                            {
                                Console.WriteLine("                        RegionCode");
                                Console.WriteLine("                            {0}", merchantItemAttributes.RegionCode);
                            }
                            if (merchantItemAttributes.IsSetRegionOfOrigin()) 
                            {
                                Console.WriteLine("                        RegionOfOrigin");
                                Console.WriteLine("                            {0}", merchantItemAttributes.RegionOfOrigin);
                            }
                            if (merchantItemAttributes.IsSetReleaseDate()) 
                            {
                                Console.WriteLine("                        ReleaseDate");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ReleaseDate);
                            }
                            List<String> returnMethodList  =  merchantItemAttributes.ReturnMethod;
                            foreach (String returnMethod in returnMethodList) 
                            { 
                                Console.WriteLine("                        ReturnMethod");
                                Console.WriteLine("                            {0}", returnMethod);
                            }	
                            if (merchantItemAttributes.IsSetRemovableMemory()) 
                            {
                                Console.WriteLine("                        RemovableMemory");
                                Console.WriteLine("                            {0}", merchantItemAttributes.RemovableMemory);
                            }
                            if (merchantItemAttributes.IsSetResolutionModes()) 
                            {
                                Console.WriteLine("                        ResolutionModes");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ResolutionModes);
                            }
                            if (merchantItemAttributes.IsSetReturnPolicy()) 
                            {
                                Console.WriteLine("                        ReturnPolicy");
                                Console.WriteLine("                            {0}", merchantItemAttributes.ReturnPolicy);
                            }
                            if (merchantItemAttributes.IsSetRingSize()) 
                            {
                                Console.WriteLine("                        RingSize");
                                Console.WriteLine("                            {0}", merchantItemAttributes.RingSize);
                            }
                            if (merchantItemAttributes.IsSetSafetyWarning()) 
                            {
                                Console.WriteLine("                        SafetyWarning");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SafetyWarning);
                            }
                            if (merchantItemAttributes.IsSetSalesRestriction()) 
                            {
                                Console.WriteLine("                        SalesRestriction");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SalesRestriction);
                            }
                            if (merchantItemAttributes.IsSetSecondaryCacheSize()) 
                            {
                                Console.WriteLine("                        SecondaryCacheSize");
                                NonNegativeIntegerWithUnits  secondaryCacheSize = merchantItemAttributes.SecondaryCacheSize;
                            } 
                            if (merchantItemAttributes.IsSetSettingType()) 
                            {
                                Console.WriteLine("                        SettingType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SettingType);
                            }
                            if (merchantItemAttributes.IsSetSize()) 
                            {
                                Console.WriteLine("                        Size");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Size);
                            }
                            if (merchantItemAttributes.IsSetSKU()) 
                            {
                                Console.WriteLine("                        SKU");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SKU);
                            }
                            if (merchantItemAttributes.IsSetSoldInStores()) 
                            {
                                Console.WriteLine("                        SoldInStores");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SoldInStores);
                            }
                            if (merchantItemAttributes.IsSetSizePerPearl()) 
                            {
                                Console.WriteLine("                        SizePerPearl");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SizePerPearl);
                            }
                            if (merchantItemAttributes.IsSetSkillLevel()) 
                            {
                                Console.WriteLine("                        SkillLevel");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SkillLevel);
                            }
                            if (merchantItemAttributes.IsSetSoundCardDescription()) 
                            {
                                Console.WriteLine("                        SoundCardDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SoundCardDescription);
                            }
                            if (merchantItemAttributes.IsSetSpeakerCount()) 
                            {
                                Console.WriteLine("                        SpeakerCount");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SpeakerCount);
                            }
                            if (merchantItemAttributes.IsSetSpeakerDescription()) 
                            {
                                Console.WriteLine("                        SpeakerDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SpeakerDescription);
                            }
                            List<String> specialFeaturesList  =  merchantItemAttributes.SpecialFeatures;
                            foreach (String specialFeatures in specialFeaturesList) 
                            { 
                                Console.WriteLine("                        SpecialFeatures");
                                Console.WriteLine("                            {0}", specialFeatures);
                            }	
                            if (merchantItemAttributes.IsSetStoneClarity()) 
                            {
                                Console.WriteLine("                        StoneClarity");
                                Console.WriteLine("                            {0}", merchantItemAttributes.StoneClarity);
                            }
                            if (merchantItemAttributes.IsSetStoneColor()) 
                            {
                                Console.WriteLine("                        StoneColor");
                                Console.WriteLine("                            {0}", merchantItemAttributes.StoneColor);
                            }
                            if (merchantItemAttributes.IsSetStoneCut()) 
                            {
                                Console.WriteLine("                        StoneCut");
                                Console.WriteLine("                            {0}", merchantItemAttributes.StoneCut);
                            }
                            if (merchantItemAttributes.IsSetStoneShape()) 
                            {
                                Console.WriteLine("                        StoneShape");
                                Console.WriteLine("                            {0}", merchantItemAttributes.StoneShape);
                            }
                            if (merchantItemAttributes.IsSetStoneWeight()) 
                            {
                                Console.WriteLine("                        StoneWeight");
                                DecimalWithUnits  stoneWeight = merchantItemAttributes.StoneWeight;
                            } 
                            if (merchantItemAttributes.IsSetStudio()) 
                            {
                                Console.WriteLine("                        Studio");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Studio);
                            }
                            if (merchantItemAttributes.IsSetSubscriptionLength()) 
                            {
                                Console.WriteLine("                        SubscriptionLength");
                                NonNegativeIntegerWithUnits  subscriptionLength = merchantItemAttributes.SubscriptionLength;
                            } 
                            List<String> supportedImageTypeList  =  merchantItemAttributes.SupportedImageType;
                            foreach (String supportedImageType in supportedImageTypeList) 
                            { 
                                Console.WriteLine("                        SupportedImageType");
                                Console.WriteLine("                            {0}", supportedImageType);
                            }	
                            if (merchantItemAttributes.IsSetSystemBusSpeed()) 
                            {
                                Console.WriteLine("                        SystemBusSpeed");
                                DecimalWithUnits  systemBusSpeed = merchantItemAttributes.SystemBusSpeed;
                            } 
                            if (merchantItemAttributes.IsSetSystemMemorySizeMax()) 
                            {
                                Console.WriteLine("                        SystemMemorySizeMax");
                                DecimalWithUnits  systemMemorySizeMax = merchantItemAttributes.SystemMemorySizeMax;
                            } 
                            if (merchantItemAttributes.IsSetSystemMemorySize()) 
                            {
                                Console.WriteLine("                        SystemMemorySize");
                                DecimalWithUnits  systemMemorySize = merchantItemAttributes.SystemMemorySize;
                            } 
                            if (merchantItemAttributes.IsSetSystemMemoryType()) 
                            {
                                Console.WriteLine("                        SystemMemoryType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.SystemMemoryType);
                            }
                            if (merchantItemAttributes.IsSetTellingPageIndicator()) 
                            {
                                Console.WriteLine("                        TellingPageIndicator");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TellingPageIndicator);
                            }
                            if (merchantItemAttributes.IsSetTheatricalReleaseDate()) 
                            {
                                Console.WriteLine("                        TheatricalReleaseDate");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TheatricalReleaseDate);
                            }
                            if (merchantItemAttributes.IsSetTitle()) 
                            {
                                Console.WriteLine("                        Title");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Title);
                            }
                            if (merchantItemAttributes.IsSetTotalDiamondWeight()) 
                            {
                                Console.WriteLine("                        TotalDiamondWeight");
                                DecimalWithUnits  totalDiamondWeight = merchantItemAttributes.TotalDiamondWeight;
                            } 
                            if (merchantItemAttributes.IsSetTotalExternalBaysFree()) 
                            {
                                Console.WriteLine("                        TotalExternalBaysFree");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalExternalBaysFree);
                            }
                            if (merchantItemAttributes.IsSetTotalFirewirePorts()) 
                            {
                                Console.WriteLine("                        TotalFirewirePorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalFirewirePorts);
                            }
                            if (merchantItemAttributes.IsSetTotalGemWeight()) 
                            {
                                Console.WriteLine("                        TotalGemWeight");
                                DecimalWithUnits  totalGemWeight = merchantItemAttributes.TotalGemWeight;
                            } 
                            if (merchantItemAttributes.IsSetTotalInternalBaysFree()) 
                            {
                                Console.WriteLine("                        TotalInternalBaysFree");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalInternalBaysFree);
                            }
                            if (merchantItemAttributes.IsSetTotalMetalWeight()) 
                            {
                                Console.WriteLine("                        TotalMetalWeight");
                                DecimalWithUnits  totalMetalWeight = merchantItemAttributes.TotalMetalWeight;
                            } 
                            if (merchantItemAttributes.IsSetTotalNTSCPALPorts()) 
                            {
                                Console.WriteLine("                        TotalNTSCPALPorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalNTSCPALPorts);
                            }
                            if (merchantItemAttributes.IsSetTotalParallelPorts()) 
                            {
                                Console.WriteLine("                        TotalParallelPorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalParallelPorts);
                            }
                            if (merchantItemAttributes.IsSetTotalPCCardSlots()) 
                            {
                                Console.WriteLine("                        TotalPCCardSlots");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalPCCardSlots);
                            }
                            if (merchantItemAttributes.IsSetTotalPCISlotsFree()) 
                            {
                                Console.WriteLine("                        TotalPCISlotsFree");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalPCISlotsFree);
                            }
                            if (merchantItemAttributes.IsSetTotalSerialPorts()) 
                            {
                                Console.WriteLine("                        TotalSerialPorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalSerialPorts);
                            }
                            if (merchantItemAttributes.IsSetTotalSVideoOutPorts()) 
                            {
                                Console.WriteLine("                        TotalSVideoOutPorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalSVideoOutPorts);
                            }
                            if (merchantItemAttributes.IsSetTotalUSB2Ports()) 
                            {
                                Console.WriteLine("                        TotalUSB2Ports");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalUSB2Ports);
                            }
                            if (merchantItemAttributes.IsSetTotalUSBPorts()) 
                            {
                                Console.WriteLine("                        TotalUSBPorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalUSBPorts);
                            }
                            if (merchantItemAttributes.IsSetTotalVGAOutPorts()) 
                            {
                                Console.WriteLine("                        TotalVGAOutPorts");
                                Console.WriteLine("                            {0}", merchantItemAttributes.TotalVGAOutPorts);
                            }
                            if (merchantItemAttributes.IsSetUPC()) 
                            {
                                Console.WriteLine("                        UPC");
                                Console.WriteLine("                            {0}", merchantItemAttributes.UPC);
                            }
                            if (merchantItemAttributes.IsSetVariationDenomination()) 
                            {
                                Console.WriteLine("                        VariationDenomination");
                                Console.WriteLine("                            {0}", merchantItemAttributes.VariationDenomination);
                            }
                            if (merchantItemAttributes.IsSetVariationDescription()) 
                            {
                                Console.WriteLine("                        VariationDescription");
                                Console.WriteLine("                            {0}", merchantItemAttributes.VariationDescription);
                            }
                            if (merchantItemAttributes.IsSetVendorRebate()) 
                            {
                                Console.WriteLine("                        VendorRebate");
                                VendorRebate  vendorRebate = merchantItemAttributes.VendorRebate;
                                if (vendorRebate.IsSetType()) 
                                {
                                    Console.WriteLine("                            Type");
                                    Console.WriteLine("                                {0}", vendorRebate.Type);
                                }
                                if (vendorRebate.IsSetStartDate()) 
                                {
                                    Console.WriteLine("                            StartDate");
                                    Console.WriteLine("                                {0}", vendorRebate.StartDate);
                                }
                                if (vendorRebate.IsSetEndDate()) 
                                {
                                    Console.WriteLine("                            EndDate");
                                    Console.WriteLine("                                {0}", vendorRebate.EndDate);
                                }
                            } 
                            if (merchantItemAttributes.IsSetWarranty()) 
                            {
                                Console.WriteLine("                        Warranty");
                                Console.WriteLine("                            {0}", merchantItemAttributes.Warranty);
                            }
                            if (merchantItemAttributes.IsSetWatchMovementType()) 
                            {
                                Console.WriteLine("                        WatchMovementType");
                                Console.WriteLine("                            {0}", merchantItemAttributes.WatchMovementType);
                            }
                            if (merchantItemAttributes.IsSetWebsiteBuyability()) 
                            {
                                Console.WriteLine("                        WebsiteBuyability");
                                Console.WriteLine("                            {0}", merchantItemAttributes.WebsiteBuyability);
                            }
                            if (merchantItemAttributes.IsSetWaterResistanceDepth()) 
                            {
                                Console.WriteLine("                        WaterResistanceDepth");
                                DecimalWithUnits  waterResistanceDepth = merchantItemAttributes.WaterResistanceDepth;
                            } 
                            if (merchantItemAttributes.IsSetWirelessMicrophoneFrequency()) 
                            {
                                Console.WriteLine("                        WirelessMicrophoneFrequency");
                                Console.WriteLine("                            {0}", merchantItemAttributes.WirelessMicrophoneFrequency);
                            }
                        } 
                        if (item.IsSetCollections()) 
                        {
                            Console.WriteLine("                    Collections");
                            Collections  collections = item.Collections;
                            List<CollectionsCollection> collectionList = collections.Collection;
                            foreach (CollectionsCollection collection in collectionList) 
                            {
                                Console.WriteLine("                        Collection");
                                if (collection.IsSetCollectionSummary()) 
                                {
                                    Console.WriteLine("                            CollectionSummary");
                                    CollectionSummary  collectionSummary = collection.CollectionSummary;
                                    if (collectionSummary.IsSetLowestListPrice()) 
                                    {
                                        Console.WriteLine("                                LowestListPrice");
                                        Price  lowestListPrice = collectionSummary.LowestListPrice;
                                        if (lowestListPrice.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", lowestListPrice.Amount);
                                        }
                                        if (lowestListPrice.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", lowestListPrice.CurrencyCode);
                                        }
                                        if (lowestListPrice.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", lowestListPrice.FormattedPrice);
                                        }
                                    } 
                                    if (collectionSummary.IsSetHighestListPrice()) 
                                    {
                                        Console.WriteLine("                                HighestListPrice");
                                        Price  highestListPrice = collectionSummary.HighestListPrice;
                                        if (highestListPrice.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", highestListPrice.Amount);
                                        }
                                        if (highestListPrice.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", highestListPrice.CurrencyCode);
                                        }
                                        if (highestListPrice.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", highestListPrice.FormattedPrice);
                                        }
                                    } 
                                    if (collectionSummary.IsSetLowestSalePrice()) 
                                    {
                                        Console.WriteLine("                                LowestSalePrice");
                                        Price  lowestSalePrice = collectionSummary.LowestSalePrice;
                                        if (lowestSalePrice.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", lowestSalePrice.Amount);
                                        }
                                        if (lowestSalePrice.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", lowestSalePrice.CurrencyCode);
                                        }
                                        if (lowestSalePrice.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", lowestSalePrice.FormattedPrice);
                                        }
                                    } 
                                    if (collectionSummary.IsSetHighestSalePrice()) 
                                    {
                                        Console.WriteLine("                                HighestSalePrice");
                                        Price  highestSalePrice = collectionSummary.HighestSalePrice;
                                        if (highestSalePrice.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", highestSalePrice.Amount);
                                        }
                                        if (highestSalePrice.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", highestSalePrice.CurrencyCode);
                                        }
                                        if (highestSalePrice.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", highestSalePrice.FormattedPrice);
                                        }
                                    } 
                                } 
                                if (collection.IsSetCollectionParent()) 
                                {
                                    Console.WriteLine("                            CollectionParent");
                                    CollectionParent  collectionParent = collection.CollectionParent;
                                    if (collectionParent.IsSetASIN()) 
                                    {
                                        Console.WriteLine("                                ASIN");
                                        Console.WriteLine("                                    {0}", collectionParent.ASIN);
                                    }
                                    if (collectionParent.IsSetTitle()) 
                                    {
                                        Console.WriteLine("                                Title");
                                        Console.WriteLine("                                    {0}", collectionParent.Title);
                                    }
                                } 
                                List<CollectionItem> collectionItemList = collection.CollectionItem;
                                foreach (CollectionItem collectionItem in collectionItemList) 
                                {
                                    Console.WriteLine("                            CollectionItem");
                                    if (collectionItem.IsSetASIN()) 
                                    {
                                        Console.WriteLine("                                ASIN");
                                        Console.WriteLine("                                    {0}", collectionItem.ASIN);
                                    }
                                    if (collectionItem.IsSetTitle()) 
                                    {
                                        Console.WriteLine("                                Title");
                                        Console.WriteLine("                                    {0}", collectionItem.Title);
                                    }
                                }
                            }
                        } 
                        if (item.IsSetSubjects()) 
                        {
                            Console.WriteLine("                    Subjects");
                            Subjects  subjects = item.Subjects;
                            List<String> subjectList  =  subjects.Subject;
                            foreach (String subject in subjectList) 
                            { 
                                Console.WriteLine("                        Subject");
                                Console.WriteLine("                            {0}", subject);
                            }	
                        } 
                        if (item.IsSetOfferSummary()) 
                        {
                            Console.WriteLine("                    OfferSummary");
                            OfferSummary  offerSummary = item.OfferSummary;
                            if (offerSummary.IsSetLowestNewPrice()) 
                            {
                                Console.WriteLine("                        LowestNewPrice");
                                Price  lowestNewPrice = offerSummary.LowestNewPrice;
                                if (lowestNewPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", lowestNewPrice.Amount);
                                }
                                if (lowestNewPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", lowestNewPrice.CurrencyCode);
                                }
                                if (lowestNewPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", lowestNewPrice.FormattedPrice);
                                }
                            } 
                            if (offerSummary.IsSetLowestUsedPrice()) 
                            {
                                Console.WriteLine("                        LowestUsedPrice");
                                Price  lowestUsedPrice = offerSummary.LowestUsedPrice;
                                if (lowestUsedPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", lowestUsedPrice.Amount);
                                }
                                if (lowestUsedPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", lowestUsedPrice.CurrencyCode);
                                }
                                if (lowestUsedPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", lowestUsedPrice.FormattedPrice);
                                }
                            } 
                            if (offerSummary.IsSetLowestCollectiblePrice()) 
                            {
                                Console.WriteLine("                        LowestCollectiblePrice");
                                Price  lowestCollectiblePrice = offerSummary.LowestCollectiblePrice;
                                if (lowestCollectiblePrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", lowestCollectiblePrice.Amount);
                                }
                                if (lowestCollectiblePrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", lowestCollectiblePrice.CurrencyCode);
                                }
                                if (lowestCollectiblePrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", lowestCollectiblePrice.FormattedPrice);
                                }
                            } 
                            if (offerSummary.IsSetLowestRefurbishedPrice()) 
                            {
                                Console.WriteLine("                        LowestRefurbishedPrice");
                                Price  lowestRefurbishedPrice = offerSummary.LowestRefurbishedPrice;
                                if (lowestRefurbishedPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", lowestRefurbishedPrice.Amount);
                                }
                                if (lowestRefurbishedPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", lowestRefurbishedPrice.CurrencyCode);
                                }
                                if (lowestRefurbishedPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", lowestRefurbishedPrice.FormattedPrice);
                                }
                            } 
                            if (offerSummary.IsSetTotalNew()) 
                            {
                                Console.WriteLine("                        TotalNew");
                                Console.WriteLine("                            {0}", offerSummary.TotalNew);
                            }
                            if (offerSummary.IsSetTotalUsed()) 
                            {
                                Console.WriteLine("                        TotalUsed");
                                Console.WriteLine("                            {0}", offerSummary.TotalUsed);
                            }
                            if (offerSummary.IsSetTotalCollectible()) 
                            {
                                Console.WriteLine("                        TotalCollectible");
                                Console.WriteLine("                            {0}", offerSummary.TotalCollectible);
                            }
                            if (offerSummary.IsSetTotalRefurbished()) 
                            {
                                Console.WriteLine("                        TotalRefurbished");
                                Console.WriteLine("                            {0}", offerSummary.TotalRefurbished);
                            }
                        } 
                        if (item.IsSetOffers()) 
                        {
                            Console.WriteLine("                    Offers");
                            Offers  offers = item.Offers;
                            if (offers.IsSetTotalOffers()) 
                            {
                                Console.WriteLine("                        TotalOffers");
                                Console.WriteLine("                            {0}", offers.TotalOffers);
                            }
                            if (offers.IsSetTotalOfferPages()) 
                            {
                                Console.WriteLine("                        TotalOfferPages");
                                Console.WriteLine("                            {0}", offers.TotalOfferPages);
                            }
                            List<Offer> offerList = offers.Offer;
                            foreach (Offer offer in offerList) 
                            {
                                Console.WriteLine("                        Offer");
                                if (offer.IsSetMerchant()) 
                                {
                                    Console.WriteLine("                            Merchant");
                                    Merchant  merchant = offer.Merchant;
                                    if (merchant.IsSetMerchantId()) 
                                    {
                                        Console.WriteLine("                                MerchantId");
                                        Console.WriteLine("                                    {0}", merchant.MerchantId);
                                    }
                                    if (merchant.IsSetName()) 
                                    {
                                        Console.WriteLine("                                Name");
                                        Console.WriteLine("                                    {0}", merchant.Name);
                                    }
                                    if (merchant.IsSetGlancePage()) 
                                    {
                                        Console.WriteLine("                                GlancePage");
                                        Console.WriteLine("                                    {0}", merchant.GlancePage);
                                    }
                                    if (merchant.IsSetAverageFeedbackRating()) 
                                    {
                                        Console.WriteLine("                                AverageFeedbackRating");
                                        Console.WriteLine("                                    {0}", merchant.AverageFeedbackRating);
                                    }
                                    if (merchant.IsSetTotalFeedback()) 
                                    {
                                        Console.WriteLine("                                TotalFeedback");
                                        Console.WriteLine("                                    {0}", merchant.TotalFeedback);
                                    }
                                    if (merchant.IsSetTotalFeedbackPages()) 
                                    {
                                        Console.WriteLine("                                TotalFeedbackPages");
                                        Console.WriteLine("                                    {0}", merchant.TotalFeedbackPages);
                                    }
                                } 
                                if (offer.IsSetSeller()) 
                                {
                                    Console.WriteLine("                            Seller");
                                    Seller  seller = offer.Seller;
                                    if (seller.IsSetSellerId()) 
                                    {
                                        Console.WriteLine("                                SellerId");
                                        Console.WriteLine("                                    {0}", seller.SellerId);
                                    }
                                    if (seller.IsSetSellerName()) 
                                    {
                                        Console.WriteLine("                                SellerName");
                                        Console.WriteLine("                                    {0}", seller.SellerName);
                                    }
                                    if (seller.IsSetSellerLegalName()) 
                                    {
                                        Console.WriteLine("                                SellerLegalName");
                                        Console.WriteLine("                                    {0}", seller.SellerLegalName);
                                    }
                                    if (seller.IsSetNickname()) 
                                    {
                                        Console.WriteLine("                                Nickname");
                                        Console.WriteLine("                                    {0}", seller.Nickname);
                                    }
                                    if (seller.IsSetGlancePage()) 
                                    {
                                        Console.WriteLine("                                GlancePage");
                                        Console.WriteLine("                                    {0}", seller.GlancePage);
                                    }
                                    if (seller.IsSetAbout()) 
                                    {
                                        Console.WriteLine("                                About");
                                        Console.WriteLine("                                    {0}", seller.About);
                                    }
                                    if (seller.IsSetMoreAbout()) 
                                    {
                                        Console.WriteLine("                                MoreAbout");
                                        Console.WriteLine("                                    {0}", seller.MoreAbout);
                                    }
                                    if (seller.IsSetLocation()) 
                                    {
                                        Console.WriteLine("                                Location");
                                        SellerLocation  location = seller.Location;
                                        if (location.IsSetUserDefinedLocation()) 
                                        {
                                            Console.WriteLine("                                    UserDefinedLocation");
                                            Console.WriteLine("                                        {0}", location.UserDefinedLocation);
                                        }
                                        if (location.IsSetCity()) 
                                        {
                                            Console.WriteLine("                                    City");
                                            Console.WriteLine("                                        {0}", location.City);
                                        }
                                        if (location.IsSetState()) 
                                        {
                                            Console.WriteLine("                                    State");
                                            Console.WriteLine("                                        {0}", location.State);
                                        }
                                        if (location.IsSetCountry()) 
                                        {
                                            Console.WriteLine("                                    Country");
                                            Console.WriteLine("                                        {0}", location.Country);
                                        }
                                    } 
                                    if (seller.IsSetAverageFeedbackRating()) 
                                    {
                                        Console.WriteLine("                                AverageFeedbackRating");
                                        Console.WriteLine("                                    {0}", seller.AverageFeedbackRating);
                                    }
                                    if (seller.IsSetTotalFeedback()) 
                                    {
                                        Console.WriteLine("                                TotalFeedback");
                                        Console.WriteLine("                                    {0}", seller.TotalFeedback);
                                    }
                                    if (seller.IsSetTotalFeedbackPages()) 
                                    {
                                        Console.WriteLine("                                TotalFeedbackPages");
                                        Console.WriteLine("                                    {0}", seller.TotalFeedbackPages);
                                    }
                                    if (seller.IsSetSellerFeedbackSummary()) 
                                    {
                                        Console.WriteLine("                                SellerFeedbackSummary");
                                        SellerFeedbackSummary  sellerFeedbackSummary = seller.SellerFeedbackSummary;
                                        List<FeedbackDateRange> feedbackDateRangeList = sellerFeedbackSummary.FeedbackDateRange;
                                        foreach (FeedbackDateRange feedbackDateRange in feedbackDateRangeList) 
                                        {
                                            Console.WriteLine("                                    FeedbackDateRange");
                                            List<SellerFeedbackRating> sellerFeedbackRatingList = feedbackDateRange.SellerFeedbackRating;
                                            foreach (SellerFeedbackRating sellerFeedbackRating in sellerFeedbackRatingList) 
                                            {
                                                Console.WriteLine("                                        SellerFeedbackRating");
                                                if (sellerFeedbackRating.IsSetCount()) 
                                                {
                                                    Console.WriteLine("                                            Count");
                                                    Console.WriteLine("                                                {0}", sellerFeedbackRating.Count);
                                                }
                                                if (sellerFeedbackRating.IsSetPercentage()) 
                                                {
                                                    Console.WriteLine("                                            Percentage");
                                                    Console.WriteLine("                                                {0}", sellerFeedbackRating.Percentage);
                                                }
                                            }
                                        }
                                    } 
                                    if (seller.IsSetSellerFeedback()) 
                                    {
                                        Console.WriteLine("                                SellerFeedback");
                                        SellerFeedback  sellerFeedback = seller.SellerFeedback;
                                        List<Feedback> feedbackList = sellerFeedback.Feedback;
                                        foreach (Feedback feedback in feedbackList) 
                                        {
                                            Console.WriteLine("                                    Feedback");
                                            if (feedback.IsSetRating()) 
                                            {
                                                Console.WriteLine("                                        Rating");
                                                Console.WriteLine("                                            {0}", feedback.Rating);
                                            }
                                            if (feedback.IsSetComment()) 
                                            {
                                                Console.WriteLine("                                        Comment");
                                                Console.WriteLine("                                            {0}", feedback.Comment);
                                            }
                                            if (feedback.IsSetDate()) 
                                            {
                                                Console.WriteLine("                                        Date");
                                                Console.WriteLine("                                            {0}", feedback.Date);
                                            }
                                            if (feedback.IsSetRatedBy()) 
                                            {
                                                Console.WriteLine("                                        RatedBy");
                                                Console.WriteLine("                                            {0}", feedback.RatedBy);
                                            }
                                        }
                                    } 
                                } 
                                if (offer.IsSetOfferAttributes()) 
                                {
                                    Console.WriteLine("                            OfferAttributes");
                                    OfferAttributes  offerAttributes = offer.OfferAttributes;
                                    if (offerAttributes.IsSetCondition()) 
                                    {
                                        Console.WriteLine("                                Condition");
                                        Console.WriteLine("                                    {0}", offerAttributes.Condition);
                                    }
                                    if (offerAttributes.IsSetSubCondition()) 
                                    {
                                        Console.WriteLine("                                SubCondition");
                                        Console.WriteLine("                                    {0}", offerAttributes.SubCondition);
                                    }
                                    if (offerAttributes.IsSetConditionNote()) 
                                    {
                                        Console.WriteLine("                                ConditionNote");
                                        Console.WriteLine("                                    {0}", offerAttributes.ConditionNote);
                                    }
                                    if (offerAttributes.IsSetWillShipExpedited()) 
                                    {
                                        Console.WriteLine("                                WillShipExpedited");
                                        Console.WriteLine("                                    {0}", offerAttributes.WillShipExpedited);
                                    }
                                    if (offerAttributes.IsSetWillShipInternational()) 
                                    {
                                        Console.WriteLine("                                WillShipInternational");
                                        Console.WriteLine("                                    {0}", offerAttributes.WillShipInternational);
                                    }
                                } 
                                List<OfferListing> offerListingList = offer.OfferListing;
                                foreach (OfferListing offerListing in offerListingList) 
                                {
                                    Console.WriteLine("                            OfferListing");
                                    if (offerListing.IsSetOfferListingId()) 
                                    {
                                        Console.WriteLine("                                OfferListingId");
                                        Console.WriteLine("                                    {0}", offerListing.OfferListingId);
                                    }
                                    if (offerListing.IsSetExchangeId()) 
                                    {
                                        Console.WriteLine("                                ExchangeId");
                                        Console.WriteLine("                                    {0}", offerListing.ExchangeId);
                                    }
                                    if (offerListing.IsSetPrice()) 
                                    {
                                        Console.WriteLine("                                Price");
                                        Price  price = offerListing.Price;
                                        if (price.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", price.Amount);
                                        }
                                        if (price.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", price.CurrencyCode);
                                        }
                                        if (price.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", price.FormattedPrice);
                                        }
                                    } 
                                    if (offerListing.IsSetSalePrice()) 
                                    {
                                        Console.WriteLine("                                SalePrice");
                                        Price  salePrice = offerListing.SalePrice;
                                        if (salePrice.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", salePrice.Amount);
                                        }
                                        if (salePrice.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", salePrice.CurrencyCode);
                                        }
                                        if (salePrice.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", salePrice.FormattedPrice);
                                        }
                                    } 
                                    if (offerListing.IsSetAmountSaved()) 
                                    {
                                        Console.WriteLine("                                AmountSaved");
                                        Price  amountSaved = offerListing.AmountSaved;
                                        if (amountSaved.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", amountSaved.Amount);
                                        }
                                        if (amountSaved.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", amountSaved.CurrencyCode);
                                        }
                                        if (amountSaved.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", amountSaved.FormattedPrice);
                                        }
                                    } 
                                    if (offerListing.IsSetPercentageSaved()) 
                                    {
                                        Console.WriteLine("                                PercentageSaved");
                                        Console.WriteLine("                                    {0}", offerListing.PercentageSaved);
                                    }
                                    if (offerListing.IsSetAvailability()) 
                                    {
                                        Console.WriteLine("                                Availability");
                                        Console.WriteLine("                                    {0}", offerListing.Availability);
                                    }
                                    if (offerListing.IsSetAvailabilityAttributes()) 
                                    {
                                        Console.WriteLine("                                AvailabilityAttributes");
                                        AvailabilityAttributes  availabilityAttributes = offerListing.AvailabilityAttributes;
                                        if (availabilityAttributes.IsSetAvailabilityType()) 
                                        {
                                            Console.WriteLine("                                    AvailabilityType");
                                            Console.WriteLine("                                        {0}", availabilityAttributes.AvailabilityType);
                                        }
                                        if (availabilityAttributes.IsSetIsPreorder()) 
                                        {
                                            Console.WriteLine("                                    IsPreorder");
                                            Console.WriteLine("                                        {0}", availabilityAttributes.IsPreorder);
                                        }
                                        if (availabilityAttributes.IsSetMinimumHours()) 
                                        {
                                            Console.WriteLine("                                    MinimumHours");
                                            Console.WriteLine("                                        {0}", availabilityAttributes.MinimumHours);
                                        }
                                        if (availabilityAttributes.IsSetMaximumHours()) 
                                        {
                                            Console.WriteLine("                                    MaximumHours");
                                            Console.WriteLine("                                        {0}", availabilityAttributes.MaximumHours);
                                        }
                                    } 
                                    if (offerListing.IsSetQuantity()) 
                                    {
                                        Console.WriteLine("                                Quantity");
                                        Console.WriteLine("                                    {0}", offerListing.Quantity);
                                    }
                                    if (offerListing.IsSetISPUStoreAddress()) 
                                    {
                                        Console.WriteLine("                                ISPUStoreAddress");
                                        Address  ISPUStoreAddress = offerListing.ISPUStoreAddress;
                                        if (ISPUStoreAddress.IsSetName()) 
                                        {
                                            Console.WriteLine("                                    Name");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.Name);
                                        }
                                        if (ISPUStoreAddress.IsSetAddress1()) 
                                        {
                                            Console.WriteLine("                                    Address1");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.Address1);
                                        }
                                        if (ISPUStoreAddress.IsSetAddress2()) 
                                        {
                                            Console.WriteLine("                                    Address2");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.Address2);
                                        }
                                        if (ISPUStoreAddress.IsSetAddress3()) 
                                        {
                                            Console.WriteLine("                                    Address3");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.Address3);
                                        }
                                        if (ISPUStoreAddress.IsSetCity()) 
                                        {
                                            Console.WriteLine("                                    City");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.City);
                                        }
                                        if (ISPUStoreAddress.IsSetState()) 
                                        {
                                            Console.WriteLine("                                    State");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.State);
                                        }
                                        if (ISPUStoreAddress.IsSetPostalCode()) 
                                        {
                                            Console.WriteLine("                                    PostalCode");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.PostalCode);
                                        }
                                        if (ISPUStoreAddress.IsSetCountry()) 
                                        {
                                            Console.WriteLine("                                    Country");
                                            Console.WriteLine("                                        {0}", ISPUStoreAddress.Country);
                                        }
                                    } 
                                    if (offerListing.IsSetISPUStoreHours()) 
                                    {
                                        Console.WriteLine("                                ISPUStoreHours");
                                        Console.WriteLine("                                    {0}", offerListing.ISPUStoreHours);
                                    }
                                    if (offerListing.IsSetIsEligibleForSuperSaverShipping()) 
                                    {
                                        Console.WriteLine("                                IsEligibleForSuperSaverShipping");
                                        Console.WriteLine("                                    {0}", offerListing.IsEligibleForSuperSaverShipping);
                                    }
                                    if (offerListing.IsSetSalesRestriction()) 
                                    {
                                        Console.WriteLine("                                SalesRestriction");
                                        Console.WriteLine("                                    {0}", offerListing.SalesRestriction);
                                    }
                                    List<ShippingCharge> shippingChargeList = offerListing.ShippingCharge;
                                    foreach (ShippingCharge shippingCharge in shippingChargeList) 
                                    {
                                        Console.WriteLine("                                ShippingCharge");
                                        if (shippingCharge.IsSetShippingType()) 
                                        {
                                            Console.WriteLine("                                    ShippingType");
                                            Console.WriteLine("                                        {0}", shippingCharge.ShippingType);
                                        }
                                        if (shippingCharge.IsSetShippingPrice()) 
                                        {
                                            Console.WriteLine("                                    ShippingPrice");
                                            Price  shippingPrice = shippingCharge.ShippingPrice;
                                            if (shippingPrice.IsSetAmount()) 
                                            {
                                                Console.WriteLine("                                        Amount");
                                                Console.WriteLine("                                            {0}", shippingPrice.Amount);
                                            }
                                            if (shippingPrice.IsSetCurrencyCode()) 
                                            {
                                                Console.WriteLine("                                        CurrencyCode");
                                                Console.WriteLine("                                            {0}", shippingPrice.CurrencyCode);
                                            }
                                            if (shippingPrice.IsSetFormattedPrice()) 
                                            {
                                                Console.WriteLine("                                        FormattedPrice");
                                                Console.WriteLine("                                            {0}", shippingPrice.FormattedPrice);
                                            }
                                        } 
                                    }
                                }
                                if (offer.IsSetLoyaltyPoints()) 
                                {
                                    Console.WriteLine("                            LoyaltyPoints");
                                    LoyaltyPoints  loyaltyPoints = offer.LoyaltyPoints;
                                    if (loyaltyPoints.IsSetPoints()) 
                                    {
                                        Console.WriteLine("                                Points");
                                        Console.WriteLine("                                    {0}", loyaltyPoints.Points);
                                    }
                                    if (loyaltyPoints.IsSetTypicalRedemptionValue()) 
                                    {
                                        Console.WriteLine("                                TypicalRedemptionValue");
                                        Price  typicalRedemptionValue = loyaltyPoints.TypicalRedemptionValue;
                                        if (typicalRedemptionValue.IsSetAmount()) 
                                        {
                                            Console.WriteLine("                                    Amount");
                                            Console.WriteLine("                                        {0}", typicalRedemptionValue.Amount);
                                        }
                                        if (typicalRedemptionValue.IsSetCurrencyCode()) 
                                        {
                                            Console.WriteLine("                                    CurrencyCode");
                                            Console.WriteLine("                                        {0}", typicalRedemptionValue.CurrencyCode);
                                        }
                                        if (typicalRedemptionValue.IsSetFormattedPrice()) 
                                        {
                                            Console.WriteLine("                                    FormattedPrice");
                                            Console.WriteLine("                                        {0}", typicalRedemptionValue.FormattedPrice);
                                        }
                                    } 
                                } 
                                if (offer.IsSetPromotions()) 
                                {
                                    Console.WriteLine("                            Promotions");
                                    Promotions  promotions = offer.Promotions;
                                    List<Promotion> promotionList = promotions.Promotion;
                                    foreach (Promotion promotion in promotionList) 
                                    {
                                        Console.WriteLine("                                Promotion");
                                        if (promotion.IsSetSummary()) 
                                        {
                                            Console.WriteLine("                                    Summary");
                                            PromotionSummary  summary = promotion.Summary;
                                            if (summary.IsSetPromotionId()) 
                                            {
                                                Console.WriteLine("                                        PromotionId");
                                                Console.WriteLine("                                            {0}", summary.PromotionId);
                                            }
                                            if (summary.IsSetCategory()) 
                                            {
                                                Console.WriteLine("                                        Category");
                                                Console.WriteLine("                                            {0}", summary.Category);
                                            }
                                            if (summary.IsSetStartDate()) 
                                            {
                                                Console.WriteLine("                                        StartDate");
                                                Console.WriteLine("                                            {0}", summary.StartDate);
                                            }
                                            if (summary.IsSetEndDate()) 
                                            {
                                                Console.WriteLine("                                        EndDate");
                                                Console.WriteLine("                                            {0}", summary.EndDate);
                                            }
                                            if (summary.IsSetEligibilityRequirementDescription()) 
                                            {
                                                Console.WriteLine("                                        EligibilityRequirementDescription");
                                                Console.WriteLine("                                            {0}", summary.EligibilityRequirementDescription);
                                            }
                                            if (summary.IsSetBenefitDescription()) 
                                            {
                                                Console.WriteLine("                                        BenefitDescription");
                                                Console.WriteLine("                                            {0}", summary.BenefitDescription);
                                            }
                                            if (summary.IsSetTermsAndConditions()) 
                                            {
                                                Console.WriteLine("                                        TermsAndConditions");
                                                Console.WriteLine("                                            {0}", summary.TermsAndConditions);
                                            }
                                        } 
                                        if (promotion.IsSetDetails()) 
                                        {
                                            Console.WriteLine("                                    Details");
                                            PromotionDetails  details = promotion.Details;
                                            if (details.IsSetMerchantId()) 
                                            {
                                                Console.WriteLine("                                        MerchantId");
                                                Console.WriteLine("                                            {0}", details.MerchantId);
                                            }
                                            if (details.IsSetOwningMerchantId()) 
                                            {
                                                Console.WriteLine("                                        OwningMerchantId");
                                                Console.WriteLine("                                            {0}", details.OwningMerchantId);
                                            }
                                            if (details.IsSetPromotionId()) 
                                            {
                                                Console.WriteLine("                                        PromotionId");
                                                Console.WriteLine("                                            {0}", details.PromotionId);
                                            }
                                            if (details.IsSetPromotionCategory()) 
                                            {
                                                Console.WriteLine("                                        PromotionCategory");
                                                Console.WriteLine("                                            {0}", details.PromotionCategory);
                                            }
                                            if (details.IsSetMerchantPromotionId()) 
                                            {
                                                Console.WriteLine("                                        MerchantPromotionId");
                                                Console.WriteLine("                                            {0}", details.MerchantPromotionId);
                                            }
                                            if (details.IsSetGroupClaimCode()) 
                                            {
                                                Console.WriteLine("                                        GroupClaimCode");
                                                Console.WriteLine("                                            {0}", details.GroupClaimCode);
                                            }
                                            if (details.IsSetCouponCombinationType()) 
                                            {
                                                Console.WriteLine("                                        CouponCombinationType");
                                                Console.WriteLine("                                            {0}", details.CouponCombinationType);
                                            }
                                            if (details.IsSetStartDate()) 
                                            {
                                                Console.WriteLine("                                        StartDate");
                                                Console.WriteLine("                                            {0}", details.StartDate);
                                            }
                                            if (details.IsSetEndDate()) 
                                            {
                                                Console.WriteLine("                                        EndDate");
                                                Console.WriteLine("                                            {0}", details.EndDate);
                                            }
                                            if (details.IsSetTermsAndConditions()) 
                                            {
                                                Console.WriteLine("                                        TermsAndConditions");
                                                Console.WriteLine("                                            {0}", details.TermsAndConditions);
                                            }
                                            if (details.IsSetEligibilityRequirements()) 
                                            {
                                                Console.WriteLine("                                        EligibilityRequirements");
                                                PromotionEligibilityRequirements  eligibilityRequirements = details.EligibilityRequirements;
                                                List<PromotionEligibilityRequirement> eligibilityRequirementList = eligibilityRequirements.EligibilityRequirement;
                                                foreach (PromotionEligibilityRequirement eligibilityRequirement in eligibilityRequirementList) 
                                                {
                                                    Console.WriteLine("                                            EligibilityRequirement");
                                                    if (eligibilityRequirement.IsSetEligibilityRequirementType()) 
                                                    {
                                                        Console.WriteLine("                                                EligibilityRequirementType");
                                                        Console.WriteLine("                                                    {0}", eligibilityRequirement.EligibilityRequirementType);
                                                    }
                                                    if (eligibilityRequirement.IsSetQuantity()) 
                                                    {
                                                        Console.WriteLine("                                                Quantity");
                                                        Console.WriteLine("                                                    {0}", eligibilityRequirement.Quantity);
                                                    }
                                                    if (eligibilityRequirement.IsSetCurrencyAmount()) 
                                                    {
                                                        Console.WriteLine("                                                CurrencyAmount");
                                                        Price  currencyAmount = eligibilityRequirement.CurrencyAmount;
                                                        if (currencyAmount.IsSetAmount()) 
                                                        {
                                                            Console.WriteLine("                                                    Amount");
                                                            Console.WriteLine("                                                        {0}", currencyAmount.Amount);
                                                        }
                                                        if (currencyAmount.IsSetCurrencyCode()) 
                                                        {
                                                            Console.WriteLine("                                                    CurrencyCode");
                                                            Console.WriteLine("                                                        {0}", currencyAmount.CurrencyCode);
                                                        }
                                                        if (currencyAmount.IsSetFormattedPrice()) 
                                                        {
                                                            Console.WriteLine("                                                    FormattedPrice");
                                                            Console.WriteLine("                                                        {0}", currencyAmount.FormattedPrice);
                                                        }
                                                    } 
                                                }
                                            } 
                                            if (details.IsSetBenefits()) 
                                            {
                                                Console.WriteLine("                                        Benefits");
                                                PromotionBenefits  benefits = details.Benefits;
                                                List<PromotionBenefit> benefitList = benefits.Benefit;
                                                foreach (PromotionBenefit benefit in benefitList) 
                                                {
                                                    Console.WriteLine("                                            Benefit");
                                                    if (benefit.IsSetBenefitType()) 
                                                    {
                                                        Console.WriteLine("                                                BenefitType");
                                                        Console.WriteLine("                                                    {0}", benefit.BenefitType);
                                                    }
                                                    if (benefit.IsSetComponentType()) 
                                                    {
                                                        Console.WriteLine("                                                ComponentType");
                                                        Console.WriteLine("                                                    {0}", benefit.ComponentType);
                                                    }
                                                    if (benefit.IsSetQuantity()) 
                                                    {
                                                        Console.WriteLine("                                                Quantity");
                                                        Console.WriteLine("                                                    {0}", benefit.Quantity);
                                                    }
                                                    if (benefit.IsSetPercentOff()) 
                                                    {
                                                        Console.WriteLine("                                                PercentOff");
                                                        Console.WriteLine("                                                    {0}", benefit.PercentOff);
                                                    }
                                                    if (benefit.IsSetFixedAmount()) 
                                                    {
                                                        Console.WriteLine("                                                FixedAmount");
                                                        Price  fixedAmount = benefit.FixedAmount;
                                                        if (fixedAmount.IsSetAmount()) 
                                                        {
                                                            Console.WriteLine("                                                    Amount");
                                                            Console.WriteLine("                                                        {0}", fixedAmount.Amount);
                                                        }
                                                        if (fixedAmount.IsSetCurrencyCode()) 
                                                        {
                                                            Console.WriteLine("                                                    CurrencyCode");
                                                            Console.WriteLine("                                                        {0}", fixedAmount.CurrencyCode);
                                                        }
                                                        if (fixedAmount.IsSetFormattedPrice()) 
                                                        {
                                                            Console.WriteLine("                                                    FormattedPrice");
                                                            Console.WriteLine("                                                        {0}", fixedAmount.FormattedPrice);
                                                        }
                                                    } 
                                                    if (benefit.IsSetCeiling()) 
                                                    {
                                                        Console.WriteLine("                                                Ceiling");
                                                        Price  ceiling = benefit.Ceiling;
                                                        if (ceiling.IsSetAmount()) 
                                                        {
                                                            Console.WriteLine("                                                    Amount");
                                                            Console.WriteLine("                                                        {0}", ceiling.Amount);
                                                        }
                                                        if (ceiling.IsSetCurrencyCode()) 
                                                        {
                                                            Console.WriteLine("                                                    CurrencyCode");
                                                            Console.WriteLine("                                                        {0}", ceiling.CurrencyCode);
                                                        }
                                                        if (ceiling.IsSetFormattedPrice()) 
                                                        {
                                                            Console.WriteLine("                                                    FormattedPrice");
                                                            Console.WriteLine("                                                        {0}", ceiling.FormattedPrice);
                                                        }
                                                    } 
                                                }
                                            } 
                                            if (details.IsSetItemApplicability()) 
                                            {
                                                Console.WriteLine("                                        ItemApplicability");
                                                PromotionItemApplicability  itemApplicability = details.ItemApplicability;
                                                if (itemApplicability.IsSetASIN()) 
                                                {
                                                    Console.WriteLine("                                            ASIN");
                                                    Console.WriteLine("                                                {0}", itemApplicability.ASIN);
                                                }
                                                if (itemApplicability.IsSetIsInBenefitSet()) 
                                                {
                                                    Console.WriteLine("                                            IsInBenefitSet");
                                                    Console.WriteLine("                                                {0}", itemApplicability.IsInBenefitSet);
                                                }
                                                if (itemApplicability.IsSetIsInEligibilityRequirementSet()) 
                                                {
                                                    Console.WriteLine("                                            IsInEligibilityRequirementSet");
                                                    Console.WriteLine("                                                {0}", itemApplicability.IsInEligibilityRequirementSet);
                                                }
                                            } 
                                            if (details.IsSetMerchandisingMessage()) 
                                            {
                                                Console.WriteLine("                                        MerchandisingMessage");
                                                Console.WriteLine("                                            {0}", details.MerchandisingMessage);
                                            }
                                        } 
                                    }
                                } 
                            }
                        } 
                        if (item.IsSetVariationSummary()) 
                        {
                            Console.WriteLine("                    VariationSummary");
                            VariationSummary  variationSummary = item.VariationSummary;
                            if (variationSummary.IsSetLowestPrice()) 
                            {
                                Console.WriteLine("                        LowestPrice");
                                Price  lowestPrice = variationSummary.LowestPrice;
                                if (lowestPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", lowestPrice.Amount);
                                }
                                if (lowestPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", lowestPrice.CurrencyCode);
                                }
                                if (lowestPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", lowestPrice.FormattedPrice);
                                }
                            } 
                            if (variationSummary.IsSetHighestPrice()) 
                            {
                                Console.WriteLine("                        HighestPrice");
                                Price  highestPrice = variationSummary.HighestPrice;
                                if (highestPrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", highestPrice.Amount);
                                }
                                if (highestPrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", highestPrice.CurrencyCode);
                                }
                                if (highestPrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", highestPrice.FormattedPrice);
                                }
                            } 
                            if (variationSummary.IsSetLowestSalePrice()) 
                            {
                                Console.WriteLine("                        LowestSalePrice");
                                Price  lowestSalePrice = variationSummary.LowestSalePrice;
                                if (lowestSalePrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", lowestSalePrice.Amount);
                                }
                                if (lowestSalePrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", lowestSalePrice.CurrencyCode);
                                }
                                if (lowestSalePrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", lowestSalePrice.FormattedPrice);
                                }
                            } 
                            if (variationSummary.IsSetHighestSalePrice()) 
                            {
                                Console.WriteLine("                        HighestSalePrice");
                                Price  highestSalePrice = variationSummary.HighestSalePrice;
                                if (highestSalePrice.IsSetAmount()) 
                                {
                                    Console.WriteLine("                            Amount");
                                    Console.WriteLine("                                {0}", highestSalePrice.Amount);
                                }
                                if (highestSalePrice.IsSetCurrencyCode()) 
                                {
                                    Console.WriteLine("                            CurrencyCode");
                                    Console.WriteLine("                                {0}", highestSalePrice.CurrencyCode);
                                }
                                if (highestSalePrice.IsSetFormattedPrice()) 
                                {
                                    Console.WriteLine("                            FormattedPrice");
                                    Console.WriteLine("                                {0}", highestSalePrice.FormattedPrice);
                                }
                            } 
                            if (variationSummary.IsSetSingleMerchantId()) 
                            {
                                Console.WriteLine("                        SingleMerchantId");
                                Console.WriteLine("                            {0}", variationSummary.SingleMerchantId);
                            }
                        } 
                        if (item.IsSetVariations()) 
                        {
                            Console.WriteLine("                    Variations");
                            Variations  variations = item.Variations;
                            if (variations.IsSetTotalVariations()) 
                            {
                                Console.WriteLine("                        TotalVariations");
                                Console.WriteLine("                            {0}", variations.TotalVariations);
                            }
                            if (variations.IsSetTotalVariationPages()) 
                            {
                                Console.WriteLine("                        TotalVariationPages");
                                Console.WriteLine("                            {0}", variations.TotalVariationPages);
                            }
                            if (variations.IsSetVariationDimensions()) 
                            {
                                Console.WriteLine("                        VariationDimensions");
                                VariationDimensions  variationDimensions = variations.VariationDimensions;
                                List<String> variationDimensionList  =  variationDimensions.VariationDimension;
                                foreach (String variationDimension in variationDimensionList) 
                                { 
                                    Console.WriteLine("                            VariationDimension");
                                    Console.WriteLine("                                {0}", variationDimension);
                                }	
                            } 
                        } 
                        if (item.IsSetCustomerReviews()) 
                        {
                            Console.WriteLine("                    CustomerReviews");
                            CustomerReviews  customerReviews = item.CustomerReviews;
                            if (customerReviews.IsSetAverageRating()) 
                            {
                                Console.WriteLine("                        AverageRating");
                                Console.WriteLine("                            {0}", customerReviews.AverageRating);
                            }
                            if (customerReviews.IsSetTotalReviews()) 
                            {
                                Console.WriteLine("                        TotalReviews");
                                Console.WriteLine("                            {0}", customerReviews.TotalReviews);
                            }
                            if (customerReviews.IsSetTotalReviewPages()) 
                            {
                                Console.WriteLine("                        TotalReviewPages");
                                Console.WriteLine("                            {0}", customerReviews.TotalReviewPages);
                            }
                            List<Review> reviewList = customerReviews.Review;
                            foreach (Review review in reviewList) 
                            {
                                Console.WriteLine("                        Review");
                                if (review.IsSetASIN()) 
                                {
                                    Console.WriteLine("                            ASIN");
                                    Console.WriteLine("                                {0}", review.ASIN);
                                }
                                if (review.IsSetRating()) 
                                {
                                    Console.WriteLine("                            Rating");
                                    Console.WriteLine("                                {0}", review.Rating);
                                }
                                if (review.IsSetHelpfulVotes()) 
                                {
                                    Console.WriteLine("                            HelpfulVotes");
                                    Console.WriteLine("                                {0}", review.HelpfulVotes);
                                }
                                if (review.IsSetCustomerId()) 
                                {
                                    Console.WriteLine("                            CustomerId");
                                    Console.WriteLine("                                {0}", review.CustomerId);
                                }
                                if (review.IsSetReviewer()) 
                                {
                                    Console.WriteLine("                            Reviewer");
                                    Reviewer  reviewer = review.Reviewer;
                                    if (reviewer.IsSetCustomerId()) 
                                    {
                                        Console.WriteLine("                                CustomerId");
                                        Console.WriteLine("                                    {0}", reviewer.CustomerId);
                                    }
                                    if (reviewer.IsSetName()) 
                                    {
                                        Console.WriteLine("                                Name");
                                        Console.WriteLine("                                    {0}", reviewer.Name);
                                    }
                                    if (reviewer.IsSetNickname()) 
                                    {
                                        Console.WriteLine("                                Nickname");
                                        Console.WriteLine("                                    {0}", reviewer.Nickname);
                                    }
                                    if (reviewer.IsSetLocation()) 
                                    {
                                        Console.WriteLine("                                Location");
                                        Console.WriteLine("                                    {0}", reviewer.Location);
                                    }
                                } 
                                if (review.IsSetTotalVotes()) 
                                {
                                    Console.WriteLine("                            TotalVotes");
                                    Console.WriteLine("                                {0}", review.TotalVotes);
                                }
                                if (review.IsSetDate()) 
                                {
                                    Console.WriteLine("                            Date");
                                    Console.WriteLine("                                {0}", review.Date);
                                }
                                if (review.IsSetSummary()) 
                                {
                                    Console.WriteLine("                            Summary");
                                    Console.WriteLine("                                {0}", review.Summary);
                                }
                                if (review.IsSetContent()) 
                                {
                                    Console.WriteLine("                            Content");
                                    Console.WriteLine("                                {0}", review.Content);
                                }
                            }
                        } 
                        if (item.IsSetEditorialReviews()) 
                        {
                            Console.WriteLine("                    EditorialReviews");
                            EditorialReviews  editorialReviews = item.EditorialReviews;
                            List<EditorialReview> editorialReviewList = editorialReviews.EditorialReview;
                            foreach (EditorialReview editorialReview in editorialReviewList) 
                            {
                                Console.WriteLine("                        EditorialReview");
                                if (editorialReview.IsSetSource()) 
                                {
                                    Console.WriteLine("                            Source");
                                    Console.WriteLine("                                {0}", editorialReview.Source);
                                }
                                if (editorialReview.IsSetContent()) 
                                {
                                    Console.WriteLine("                            Content");
                                    Console.WriteLine("                                {0}", editorialReview.Content);
                                }
                                if (editorialReview.IsSetIsLinkSuppressed()) 
                                {
                                    Console.WriteLine("                            IsLinkSuppressed");
                                    Console.WriteLine("                                {0}", editorialReview.IsLinkSuppressed);
                                }
                            }
                        } 
                        if (item.IsSetSimilarProducts()) 
                        {
                            Console.WriteLine("                    SimilarProducts");
                            SimilarProducts  similarProducts = item.SimilarProducts;
                            List<SimilarProduct> similarProductList = similarProducts.SimilarProduct;
                            foreach (SimilarProduct similarProduct in similarProductList) 
                            {
                                Console.WriteLine("                        SimilarProduct");
                                if (similarProduct.IsSetASIN()) 
                                {
                                    Console.WriteLine("                            ASIN");
                                    Console.WriteLine("                                {0}", similarProduct.ASIN);
                                }
                                if (similarProduct.IsSetTitle()) 
                                {
                                    Console.WriteLine("                            Title");
                                    Console.WriteLine("                                {0}", similarProduct.Title);
                                }
                            }
                        } 
                        if (item.IsSetAccessories()) 
                        {
                            Console.WriteLine("                    Accessories");
                            Accessories  accessories = item.Accessories;
                            List<Accessory> accessoryList = accessories.Accessory;
                            foreach (Accessory accessory in accessoryList) 
                            {
                                Console.WriteLine("                        Accessory");
                                if (accessory.IsSetASIN()) 
                                {
                                    Console.WriteLine("                            ASIN");
                                    Console.WriteLine("                                {0}", accessory.ASIN);
                                }
                                if (accessory.IsSetTitle()) 
                                {
                                    Console.WriteLine("                            Title");
                                    Console.WriteLine("                                {0}", accessory.Title);
                                }
                            }
                        } 
                        if (item.IsSetTracks()) 
                        {
                            Console.WriteLine("                    Tracks");
                            Tracks  tracks = item.Tracks;
                            List<Disc> discList = tracks.Disc;
                            foreach (Disc disc in discList) 
                            {
                                Console.WriteLine("                        Disc");
                                List<Track> trackList = disc.Track;
                                foreach (Track track in trackList) 
                                {
                                    Console.WriteLine("                            Track");
                                }
                            }
                        } 
                        if (item.IsSetBrowseNodes()) 
                        {
                            Console.WriteLine("                    BrowseNodes");
                            BrowseNodes  browseNodes = item.BrowseNodes;
                            List<BrowseNode> browseNodeList = browseNodes.BrowseNode;
                            foreach (BrowseNode browseNode in browseNodeList) 
                            {
                                Console.WriteLine("                        BrowseNode");
                                if (browseNode.IsSetBrowseNodeId()) 
                                {
                                    Console.WriteLine("                            BrowseNodeId");
                                    Console.WriteLine("                                {0}", browseNode.BrowseNodeId);
                                }
                                if (browseNode.IsSetName()) 
                                {
                                    Console.WriteLine("                            Name");
                                    Console.WriteLine("                                {0}", browseNode.Name);
                                }
                                if (browseNode.IsSetIsCategoryRoot()) 
                                {
                                    Console.WriteLine("                            IsCategoryRoot");
                                    Console.WriteLine("                                {0}", browseNode.IsCategoryRoot);
                                }
                                if (browseNode.IsSetProperties()) 
                                {
                                    Console.WriteLine("                            Properties");
                                    BrowseNodeProperties  properties = browseNode.Properties;
                                    List<Property> propertyList = properties.Property;
                                    foreach (Property property in propertyList) 
                                    {
                                        Console.WriteLine("                                Property");
                                        if (property.IsSetName()) 
                                        {
                                            Console.WriteLine("                                    Name");
                                            Console.WriteLine("                                        {0}", property.Name);
                                        }
                                        if (property.IsSetValue()) 
                                        {
                                            Console.WriteLine("                                    Value");
                                            Console.WriteLine("                                        {0}", property.Value);
                                        }
                                    }
                                } 
                                if (browseNode.IsSetChildren()) 
                                {
                                    Console.WriteLine("                            Children");
                                    BrowseNodeChildren  children = browseNode.Children;
                                } 
                                if (browseNode.IsSetAncestors()) 
                                {
                                    Console.WriteLine("                            Ancestors");
                                    BrowseNodeAncestors  ancestors = browseNode.Ancestors;
                                } 
                                if (browseNode.IsSetTopSellers()) 
                                {
                                    Console.WriteLine("                            TopSellers");
                                    TopSellers  topSellers = browseNode.TopSellers;
                                    List<TopSeller> topSellerList = topSellers.TopSeller;
                                    foreach (TopSeller topSeller in topSellerList) 
                                    {
                                        Console.WriteLine("                                TopSeller");
                                        if (topSeller.IsSetASIN()) 
                                        {
                                            Console.WriteLine("                                    ASIN");
                                            Console.WriteLine("                                        {0}", topSeller.ASIN);
                                        }
                                        if (topSeller.IsSetTitle()) 
                                        {
                                            Console.WriteLine("                                    Title");
                                            Console.WriteLine("                                        {0}", topSeller.Title);
                                        }
                                    }
                                } 
                                if (browseNode.IsSetNewReleases()) 
                                {
                                    Console.WriteLine("                            NewReleases");
                                    NewReleases  newReleases = browseNode.NewReleases;
                                    List<NewRelease> newReleaseList = newReleases.NewRelease;
                                    foreach (NewRelease newRelease in newReleaseList) 
                                    {
                                        Console.WriteLine("                                NewRelease");
                                        if (newRelease.IsSetASIN()) 
                                        {
                                            Console.WriteLine("                                    ASIN");
                                            Console.WriteLine("                                        {0}", newRelease.ASIN);
                                        }
                                        if (newRelease.IsSetTitle()) 
                                        {
                                            Console.WriteLine("                                    Title");
                                            Console.WriteLine("                                        {0}", newRelease.Title);
                                        }
                                    }
                                } 
                            }
                        } 
                        if (item.IsSetSearchInside()) 
                        {
                            Console.WriteLine("                    SearchInside");
                            SearchInside  searchInside = item.SearchInside;
                            if (searchInside.IsSetTotalExcerpts()) 
                            {
                                Console.WriteLine("                        TotalExcerpts");
                                Console.WriteLine("                            {0}", searchInside.TotalExcerpts);
                            }
                            if (searchInside.IsSetExcerpt()) 
                            {
                                Console.WriteLine("                        Excerpt");
                                SearchInsideExcerpt  excerpt = searchInside.Excerpt;
                                if (excerpt.IsSetChecksum()) 
                                {
                                    Console.WriteLine("                            Checksum");
                                    Console.WriteLine("                                {0}", excerpt.Checksum);
                                }
                                if (excerpt.IsSetPageType()) 
                                {
                                    Console.WriteLine("                            PageType");
                                    Console.WriteLine("                                {0}", excerpt.PageType);
                                }
                                if (excerpt.IsSetPageNumber()) 
                                {
                                    Console.WriteLine("                            PageNumber");
                                    Console.WriteLine("                                {0}", excerpt.PageNumber);
                                }
                                if (excerpt.IsSetSequenceNumber()) 
                                {
                                    Console.WriteLine("                            SequenceNumber");
                                    Console.WriteLine("                                {0}", excerpt.SequenceNumber);
                                }
                                if (excerpt.IsSetText()) 
                                {
                                    Console.WriteLine("                            Text");
                                    Console.WriteLine("                                {0}", excerpt.Text);
                                }
                            } 
                        } 
                        if (item.IsSetListmaniaLists()) 
                        {
                            Console.WriteLine("                    ListmaniaLists");
                            ListmaniaLists  listmaniaLists = item.ListmaniaLists;
                            List<ListmaniaList> listmaniaListList = listmaniaLists.ListmaniaList;
                            foreach (ListmaniaList listmaniaList in listmaniaListList) 
                            {
                                Console.WriteLine("                        ListmaniaList");
                                if (listmaniaList.IsSetListId()) 
                                {
                                    Console.WriteLine("                            ListId");
                                    Console.WriteLine("                                {0}", listmaniaList.ListId);
                                }
                                if (listmaniaList.IsSetListName()) 
                                {
                                    Console.WriteLine("                            ListName");
                                    Console.WriteLine("                                {0}", listmaniaList.ListName);
                                }
                            }
                        } 
                        if (item.IsSetTags()) 
                        {
                            Console.WriteLine("                    Tags");
                            Tags  tags = item.Tags;
                            if (tags.IsSetDistinctTags()) 
                            {
                                Console.WriteLine("                        DistinctTags");
                                Console.WriteLine("                            {0}", tags.DistinctTags);
                            }
                            if (tags.IsSetDistinctItems()) 
                            {
                                Console.WriteLine("                        DistinctItems");
                                Console.WriteLine("                            {0}", tags.DistinctItems);
                            }
                            if (tags.IsSetDistinctUsers()) 
                            {
                                Console.WriteLine("                        DistinctUsers");
                                Console.WriteLine("                            {0}", tags.DistinctUsers);
                            }
                            if (tags.IsSetTotalUsages()) 
                            {
                                Console.WriteLine("                        TotalUsages");
                                Console.WriteLine("                            {0}", tags.TotalUsages);
                            }
                            if (tags.IsSetFirstTagging()) 
                            {
                                Console.WriteLine("                        FirstTagging");
                                Tagging  firstTagging = tags.FirstTagging;
                                if (firstTagging.IsSetName()) 
                                {
                                    Console.WriteLine("                            Name");
                                    Console.WriteLine("                                {0}", firstTagging.Name);
                                }
                                if (firstTagging.IsSetEntityId()) 
                                {
                                    Console.WriteLine("                            EntityId");
                                    Console.WriteLine("                                {0}", firstTagging.EntityId);
                                }
                                if (firstTagging.IsSetUserId()) 
                                {
                                    Console.WriteLine("                            UserId");
                                    Console.WriteLine("                                {0}", firstTagging.UserId);
                                }
                                if (firstTagging.IsSetTime()) 
                                {
                                    Console.WriteLine("                            Time");
                                    Console.WriteLine("                                {0}", firstTagging.Time);
                                }
                            } 
                            if (tags.IsSetLastTagging()) 
                            {
                                Console.WriteLine("                        LastTagging");
                                Tagging  lastTagging = tags.LastTagging;
                                if (lastTagging.IsSetName()) 
                                {
                                    Console.WriteLine("                            Name");
                                    Console.WriteLine("                                {0}", lastTagging.Name);
                                }
                                if (lastTagging.IsSetEntityId()) 
                                {
                                    Console.WriteLine("                            EntityId");
                                    Console.WriteLine("                                {0}", lastTagging.EntityId);
                                }
                                if (lastTagging.IsSetUserId()) 
                                {
                                    Console.WriteLine("                            UserId");
                                    Console.WriteLine("                                {0}", lastTagging.UserId);
                                }
                                if (lastTagging.IsSetTime()) 
                                {
                                    Console.WriteLine("                            Time");
                                    Console.WriteLine("                                {0}", lastTagging.Time);
                                }
                            } 
                            List<Tag> tagList = tags.Tag;
                            foreach (Tag tag in tagList) 
                            {
                                Console.WriteLine("                        Tag");
                                if (tag.IsSetName()) 
                                {
                                    Console.WriteLine("                            Name");
                                    Console.WriteLine("                                {0}", tag.Name);
                                }
                                if (tag.IsSetTagType()) 
                                {
                                    Console.WriteLine("                            TagType");
                                    Console.WriteLine("                                {0}", tag.TagType);
                                }
                                if (tag.IsSetDistinctItems()) 
                                {
                                    Console.WriteLine("                            DistinctItems");
                                    Console.WriteLine("                                {0}", tag.DistinctItems);
                                }
                                if (tag.IsSetDistinctUsers()) 
                                {
                                    Console.WriteLine("                            DistinctUsers");
                                    Console.WriteLine("                                {0}", tag.DistinctUsers);
                                }
                                if (tag.IsSetTotalUsages()) 
                                {
                                    Console.WriteLine("                            TotalUsages");
                                    Console.WriteLine("                                {0}", tag.TotalUsages);
                                }
                                if (tag.IsSetFirstTagging()) 
                                {
                                    Console.WriteLine("                            FirstTagging");
                                    Tagging  firstTagging = tag.FirstTagging;
                                    if (firstTagging.IsSetName()) 
                                    {
                                        Console.WriteLine("                                Name");
                                        Console.WriteLine("                                    {0}", firstTagging.Name);
                                    }
                                    if (firstTagging.IsSetEntityId()) 
                                    {
                                        Console.WriteLine("                                EntityId");
                                        Console.WriteLine("                                    {0}", firstTagging.EntityId);
                                    }
                                    if (firstTagging.IsSetUserId()) 
                                    {
                                        Console.WriteLine("                                UserId");
                                        Console.WriteLine("                                    {0}", firstTagging.UserId);
                                    }
                                    if (firstTagging.IsSetTime()) 
                                    {
                                        Console.WriteLine("                                Time");
                                        Console.WriteLine("                                    {0}", firstTagging.Time);
                                    }
                                } 
                                if (tag.IsSetLastTagging()) 
                                {
                                    Console.WriteLine("                            LastTagging");
                                    Tagging  lastTagging = tag.LastTagging;
                                    if (lastTagging.IsSetName()) 
                                    {
                                        Console.WriteLine("                                Name");
                                        Console.WriteLine("                                    {0}", lastTagging.Name);
                                    }
                                    if (lastTagging.IsSetEntityId()) 
                                    {
                                        Console.WriteLine("                                EntityId");
                                        Console.WriteLine("                                    {0}", lastTagging.EntityId);
                                    }
                                    if (lastTagging.IsSetUserId()) 
                                    {
                                        Console.WriteLine("                                UserId");
                                        Console.WriteLine("                                    {0}", lastTagging.UserId);
                                    }
                                    if (lastTagging.IsSetTime()) 
                                    {
                                        Console.WriteLine("                                Time");
                                        Console.WriteLine("                                    {0}", lastTagging.Time);
                                    }
                                } 
                                List<TaggedItems> taggedItemsList = tag.TaggedItems;
                                foreach (TaggedItems taggedItems in taggedItemsList) 
                                {
                                    Console.WriteLine("                            TaggedItems");
                                    if (taggedItems.IsSetDistinctUsers()) 
                                    {
                                        Console.WriteLine("                                DistinctUsers");
                                        Console.WriteLine("                                    {0}", taggedItems.DistinctUsers);
                                    }
                                    if (taggedItems.IsSetTotalUsages()) 
                                    {
                                        Console.WriteLine("                                TotalUsages");
                                        Console.WriteLine("                                    {0}", taggedItems.TotalUsages);
                                    }
                                    if (taggedItems.IsSetFirstTagging()) 
                                    {
                                        Console.WriteLine("                                FirstTagging");
                                        Tagging  firstTagging = taggedItems.FirstTagging;
                                        if (firstTagging.IsSetName()) 
                                        {
                                            Console.WriteLine("                                    Name");
                                            Console.WriteLine("                                        {0}", firstTagging.Name);
                                        }
                                        if (firstTagging.IsSetEntityId()) 
                                        {
                                            Console.WriteLine("                                    EntityId");
                                            Console.WriteLine("                                        {0}", firstTagging.EntityId);
                                        }
                                        if (firstTagging.IsSetUserId()) 
                                        {
                                            Console.WriteLine("                                    UserId");
                                            Console.WriteLine("                                        {0}", firstTagging.UserId);
                                        }
                                        if (firstTagging.IsSetTime()) 
                                        {
                                            Console.WriteLine("                                    Time");
                                            Console.WriteLine("                                        {0}", firstTagging.Time);
                                        }
                                    } 
                                    if (taggedItems.IsSetLastTagging()) 
                                    {
                                        Console.WriteLine("                                LastTagging");
                                        Tagging  lastTagging = taggedItems.LastTagging;
                                        if (lastTagging.IsSetName()) 
                                        {
                                            Console.WriteLine("                                    Name");
                                            Console.WriteLine("                                        {0}", lastTagging.Name);
                                        }
                                        if (lastTagging.IsSetEntityId()) 
                                        {
                                            Console.WriteLine("                                    EntityId");
                                            Console.WriteLine("                                        {0}", lastTagging.EntityId);
                                        }
                                        if (lastTagging.IsSetUserId()) 
                                        {
                                            Console.WriteLine("                                    UserId");
                                            Console.WriteLine("                                        {0}", lastTagging.UserId);
                                        }
                                        if (lastTagging.IsSetTime()) 
                                        {
                                            Console.WriteLine("                                    Time");
                                            Console.WriteLine("                                        {0}", lastTagging.Time);
                                        }
                                    } 
                                }
                                List<TaggedListmaniaLists> taggedListmaniaListsList = tag.TaggedListmaniaLists;
                                foreach (TaggedListmaniaLists taggedListmaniaLists in taggedListmaniaListsList) 
                                {
                                    Console.WriteLine("                            TaggedListmaniaLists");
                                    if (taggedListmaniaLists.IsSetList()) 
                                    {
                                        Console.WriteLine("                                List");
                                        List  list = taggedListmaniaLists.List;
                                        if (list.IsSetListId()) 
                                        {
                                            Console.WriteLine("                                    ListId");
                                            Console.WriteLine("                                        {0}", list.ListId);
                                        }
                                        if (list.IsSetListURL()) 
                                        {
                                            Console.WriteLine("                                    ListURL");
                                            Console.WriteLine("                                        {0}", list.ListURL);
                                        }
                                        if (list.IsSetRegistryNumber()) 
                                        {
                                            Console.WriteLine("                                    RegistryNumber");
                                            Console.WriteLine("                                        {0}", list.RegistryNumber);
                                        }
                                    } 
                                }
                            }
                        } 
                    }
                }

            } 
            catch (AmazonECSException ex) 
            {
                Console.WriteLine("Caught Exception: " + ex.Message);
                Console.WriteLine("Response Status Code: " + ex.StatusCode);
                Console.WriteLine("Error Code: " + ex.ErrorCode);
                Console.WriteLine("Request ID: " + ex.RequestId);
                Console.WriteLine("XML: " + ex.XML);
            }
        }
                                                }
}
